我对WPF非常陌生,正在尝试理解DockPanel控件。我正在构建一个窗口,并且正在使用DockPanel来按照我想要的方式停靠控件。但是,是否可以将DockPanel本身停靠在窗口顶部?我似乎找不到一个方法来做这件事。理想情况下,我希望让DockPanel停靠在我的窗口顶部,这样当窗口调整大小时,它会随着窗口的水平调整而增大或缩小。
问题是我找不到DockPanel本身的文档属性。这是不可能做到的吗?
发布于 2011-01-27 02:10:02
如果您希望将其停靠,则需要将其放置在另一个DockPanel中。
也就是说,我的经验是,当布局达到您所描述的复杂程度时,切换到使用Grid控件通常会更好。这给了你对布局的大量控制,并使动态增长的行/列(中间有固定大小的部分)变得很容易。
响应评论进行编辑:
您可以使用可根据需要缩放的栅格。例如,通过使用星形语法,您可以拥有一个网格,其中顶部行始终是窗口大小的1/3,底部行始终是窗口大小的2/3rds,如下所示:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="2*" />
</Grid.RowDefinitions>
</Grid>有关调整大小的选项的详细信息,请参阅GridLength。您可以使用"Auto“(适应内容)、"*”根据空间进行缩放,或使用固定高度(放入一个数字)。
发布于 2011-01-27 02:25:06
我不知道这是不是你想要的,但是我有一个带Menu的DockPanel。当我调整窗口大小时,菜单也随之调整大小。
下面是我的代码:
<Grid>
<DockPanel Height="50" Margin="0" Name="MenuDockPanel" VerticalAlignment="Top" Width="Auto">
<Menu Height="23" Name="MenuPanel" Width="Auto" VerticalAlignment="Top">
<MenuItem Header="_File">
</Menu>
</DockPanel>
<Grid>希望这能有所帮助
https://stackoverflow.com/questions/4808152
复制相似问题