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 のサイズを 2 倍にしようとすると
<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 のサイズを単純に大きくできないのはなぜですか?