在我的窗口中,有一个网格占用了100%的可用垂直空间 . 在Grid内部是一个StackPanel,里面有另一个StackPanel和一个Frame . 我想让那个Frame坚持到父StackPanel的底部 .
<StackPanel>
<StackPanel>
//normal content
</StackPanel>
<Frame /> // should stick to the bottom
</StackPanel>
因此,例如,当用户调整窗口大小并且网格获得高度时,框架内部会粘到底部 .
我尝试了各种各样的东西,使用 VerticalAlign="Stretch"
或一个DockPanel并指定一个框架 DockPanel.Dock="Bottom"
,但没有成功 . 我需要StackPanel作为StackPanel,它也可以是DockPanel .
3 回答
StackPanel
不是正确的Panel
用于您的要求,因为它们不提供与Grid
相同的布局和调整大小功能 . 因此,只需将其替换为Grid
,将大部分空间放在内部StackPanel
然后Frame
将粘在底部 .您可以在MSDN的Panels Overview页面中找到有关不同WPF
Panel
的更多信息 .看起来更像
DockPanel
的用例根据MSDN docs about StackPanel
所以在你的情况下,StackPanel不是正确的控件 . 如果您希望将控件固定在特定位置,可以使用DockPanel并将控件放在其中 .