我正在使用 WindowsFormsHost 来显示 640x480 图像。WindowsFormsHost 像这样使用 Height="120" Width="160" 和 Grid.ColumnSpan="3" 可以正常工作
<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 的大小?