在我的窗口中,有一个网格占用了100%的可用垂直空间.在Grid内部是一个StackPanel,里面有另一个StackPanel和一个Frame.我想让那个Frame坚持到父StackPanel的底部.
<StackPanel>
<StackPanel>
//normal content
</StackPanel>
<Frame /> // should stick to the bottom
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
因此,例如,当用户调整窗口大小并且网格获得高度时,框架内部会粘到底部.
我尝试过各种各样的东西,使用VerticalAlign="Stretch"或者使用DockPanel并分配帧a DockPanel.Dock="Bottom",但没有成功.我要感谢一两个暗示.我不需要StackPanel成为StackPanel,它也可以是DockPanel.
She*_*dan 24
A StackPanel不Panel适合您的要求,因为它们不提供与a相同的布局和调整大小功能Grid.因此,只需将其替换为a Grid,将大部分空间放在内部StackPanel,然后Frame将粘贴到底部.
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<StackPanel>
//normal content
</StackPanel>
<Frame Grid.Row="1" />
</Grid>
Run Code Online (Sandbox Code Playgroud)
您可以在MSDN Panel的" 面板概述"页面中找到有关不同WPF 的更多信息.
Man*_*ani 12
看起来更像是一个用例 DockPanel
<DockPanel>
<StackPanel>
<!--//normal content-->
</StackPanel>
<Frame DockPanel.Dock="Bottom"/> <!--// should stick to the bottom-->
</DockPanel>
Run Code Online (Sandbox Code Playgroud)