我想制作一个我的视口图像,但我知道的唯一方法是以下
Image myImage = new Image();
RenderTargetBitmap bmp;
bmp = new RenderTargetBitmap((int)this.Width, (int)this.Height, 96, 96, PixelFormats.Pbgra32);
bmp.Render(myViewPort);
myImage.Source = bmp;
myImage.Stretch = Stretch.Uniform;
我正在使用windows的实际大小和高度来确保bmp变得“足够大”,即使视口占据了窗口的一小部分
视口在这样的网格中抵制
<Grid Grid.Column="1" Name="ViewPortGrid" Background="SteelBlue" >
<Viewport3D Name="myViewPort" >
</Viewport3D>
</Grid>
创建bmp时,我无法使用ViewPortGrid.Widht / Height或myViewPort.Widht / Height,因为这些是NaN。
是否有更好的方法来创建视口图像?
有没有办法获得视口的真实大小,因此RenderTargetBitmap的创建等于视口的大小(使用窗口大小会使图像比需要的大得多)?
/斯蒂芬
答案 0 :(得分:0)
尝试使用.ActualWidth和.ActualHeight属性。
这与在WPF中呈现和处理事物的方式有关,这与WinForms完全不同。
请参阅: