我使用WindowsFormsHost来显示640x480图像 . 使用Height =“120”Width =“160”和Grid.ColumnSpan =“3”这样的WindowsFormsHost工作正常
<Grid Name="MainGrid" Margin="10 10 10 10">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<WindowsFormsHost Name="WindowsFormsHostL" Height="120" Width="160"
HorizontalAlignment="Center" Grid.Row="0" Grid.Column="0"
Grid.ColumnSpan="3"/>
但是当我尝试将WindowsFormsHost的大小加倍时
<WindowsFormsHost Name="WindowsFormsHostL" Height="240" Width="320"
HorizontalAlignment="Center" Grid.Row="0" Grid.Column="0"
Grid.ColumnSpan="3"/>
WindowsFormsHost在.NET xaml查看器中是正确的,但看起来变得更小,做一个HorizontalAlignment =“Left”,并且变为正方形 . 这个
Debug.WriteLine(
"WindowsFormsHostL.ActualHeight " + WindowsFormsHostL.ActualHeight
+ " WindowsFormsHostL.ActualWidth " + WindowsFormsHostL.ActualWidth);
打印这个
WindowsFormsHostL.ActualHeight 240 WindowsFormsHostL.ActualWidth 320
所以运行时似乎认为它是正确的 . 我正在做干净的构建 . 我错过了什么?理解?为什么我不能简单地在xaml中增加这个WindowsFormsHost的大小?
1 回答
为什么不将Grid的Row和Column定义设置为您想要显示的大小?
行定义:
栏目定义:
然后将水平和垂直对齐设置为“拉伸”?