Как определить размер 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"/>

Затем установите горизонтальное и вертикальное выравнивание на "Растянуть"?

Другие вопросы по тегам