Wpf WindowsFormsHost缩减/缩小winforms usercontrol

时间:2011-11-20 22:12:48

标签: c# .net wpf winforms winforms-interop

我在一个dll中有一个WinForms UserControl,它的最大大小和最小大小设置为600x500。

当在win表单应用程序中呈现时,这些是它所需的维度/一切都是好的。

但是当我尝试使用windowsformshost在wpf中使用winforms usercontrol时:

  • 我将windowsformshost放在wpf网格中
  • 整个windowsformshost的尺寸很好600x500
  • 但是windowsformshost中的usercontrol缩小了一点,不多,大约10个像素左右
  • winforms usercontrol在windowsformshost的左上方对齐,并且windowsformshost有一些空白的底部和右侧,因为winforms usercontrol缩小
  • 并且无论我给windowsformshost多少空间,windowsformshost都是600x500,而winforms usercontrol里面是缩小尺寸的

如何让winforms usercontrol以600x500的预期大小显示?

<Grid Background="Black">
    <Grid.RowDefinitions>
        <RowDefinition Height="1*"/>
        <RowDefinition Height="10*"/>
        <RowDefinition Height="10*"/>
        <RowDefinition Height="1*"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="1*"/>
        <ColumnDefinition Width="10*"/>
        <ColumnDefinition Width="10*"/>
        <ColumnDefinition Width="1*"/>
    </Grid.ColumnDefinitions>
    <Grid Name="_scale" Grid.Row="1" Grid.Column="1" Grid.RowSpan="2">
        <WindowsFormsHost Name="_scaleHost" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
        </WindowsFormsHost>
    </Grid>
    <Grid Name="_stimuli" Grid.Row="2" Grid.Column="2" Grid.RowSpan="2">
            <l:LAMscale>
            </l:LAMscale>
    </Grid>
</Grid>

0 个答案:

没有答案