【发布时间】:2011-03-30 14:49:13
【问题描述】:
所以我对 WPF 很陌生,我的窗口布局有问题。目前我有一个 WPF 应用程序,其 Grid 定义如下:
<Grid.RowDefinitions>
<RowDefinition Height="23" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
在最上面一行,跨越两列,我有一个菜单。在第二行中,我在第一列中有一些标签,在第二列中有一个 Image 和一个 WindowsFormsHost,最后,在第三行中,我在第二列中有一个图形控件。默认情况下,我将 Image 和 WFH 的大小设置为 570 x 413。现在,我希望 Image 和 WFH 在调整窗口大小时都展开,以使它们保持相同的相对(相对于窗口)大小。 (我实际上也希望我的图形控件也发生同样的情况,但如果我能得到其他的,我可能会想出那个。我一辈子都无法弄清楚我需要打开/关闭什么设置或为了实现这一点,我可能需要绑定什么或其他任何东西。非常感谢任何帮助!
谢谢!
【问题讨论】:
-
请显示整个网格。目前还不清楚 Grid 是如何定义的,以及图像和 WFH 是如何布局的(StackPanel、Grid 等?)
-
您写道,您在同一个网格单元中有一个图像和一个 WindowsFormsHost。他们是在彼此之上还是什么?正如 jsmith 所说,使用 * 而不是 Auto。
-
@Wallstreet Programmer:是的,它们是相互重叠的——根据应用程序正在做什么(它所处的“模式”),一次只能看到一个。