坚持StackPanel的底部
在我的窗口中,有一个网格占据了可用垂直空间的100%。 在Grid里面是一个StackPanel,里面有另外一个StackPanel和一个Frame。 我希望该框架坚持到父级StackPanel的底部。
<StackPanel>
<StackPanel>
//normal content
</StackPanel>
<Frame /> // should stick to the bottom
</StackPanel>
因此,例如,当用户调整窗口大小并且网格获得高度时,框架内部粘贴到底部。
我尝试了各种各样的东西,使用VerticalAlign="Stretch"
或DockPanel并将Frame分配给DockPanel.Dock="Bottom"
,但没有成功。 我会感谢一两个暗示。 我不需要StackPanel是一个StackPanel,它也可以是一个DockPanel。
StackPanel
不是用于您的需求的正确Panel
,因为它们不提供与Grid
相同的布局和调整大小功能。 因此,只需将其替换为一个Grid
,将大部分空间提供给内部的StackPanel
,然后Frame
将坚持到底部。
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<StackPanel>
//normal content
</StackPanel>
<Frame Grid.Row="1" />
</Grid>
您可以在MSDN的面板概述页面找到有关不同WPF Panel
的更多信息。
看起来更像是一个DockPanel
的用例
<DockPanel>
<StackPanel>
<!--//normal content-->
</StackPanel>
<Frame DockPanel.Dock="Bottom"/> <!--// should stick to the bottom-->
</DockPanel>
根据有关StackPanel的MSDN文档
StackPanel将子元素排列成可以水平或垂直定向的单行。
所以在你的情况下,StackPanel是不正确的控制使用。 如果您希望将控件固定在某个特定位置,则可以使用DockPanel并将其放置在其中。
<DockPanel>
<Frame DockPanel.Dock="Bottom"/>
</DockPanel>
链接地址: http://www.djcxy.com/p/50075.html