Как определить размер WindowsFormsHost?
Я использую 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 = "Lef t" и идет в квадрат. это
Debug.WriteLine(
"WindowsFormsHostL.ActualHeight " + WindowsFormsHostL.ActualHeight
+ " WindowsFormsHostL.ActualWidth " + WindowsFormsHostL.ActualWidth);
печатает это
WindowsFormsHostL.ActualHeight 240 WindowsFormsHostL.ActualWidth 320
при этом кажется, что среда выполнения верна. Я делаю чистые сборки. Что я не понимаю? Почему я не могу просто увеличить размер этого WindowsFormsHost в xaml?
1 ответ
Почему бы не задать определения строк и столбцов для сетки, чтобы они соответствовали размеру, который вы хотите показать?
Определение строки:
<RowDefinition Height="240"/>
Определение столбца:
<ColumnDefinition Width="320"/>
Затем установите горизонтальное и вертикальное выравнивание на "Растянуть"?