[英]WPF StackPanel - how to push items off bottom
我有一个 StackPanel 在网格中垂直跨越整个屏幕,并且面板的 VerticalAlignment 选项设置为底部。 当我在代码中将项目添加到面板时,它们的位置从底部开始,当我添加更多时它们会向上移动。 这是所希望的。 然而,不希望的是,在屏幕垂直填充项目后,添加更多项目会将它们推离屏幕顶部。 我的愿望是让额外的物品从底部掉下来; 我不在乎它们是否不可见; 我只是不希望最上面的项目消失。
您可能知道什么技巧可以帮助我解决这个问题? 先感谢您。
我的愿望是让额外的物品从底部掉下来
您需要将StackPanel
包装在另一个容器中,以使StackPanel
本身可以随心所欲地增长,以使StackPanel
看起来从底部扩展,但实际上是从顶部扩展,这样当它超过可用空间时,多余的部分从底部而不是顶部移除。
Grid
控件正是这样做的。 例如:
<Window x:Class="TestSO67169225StackPanelFromBottom.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Window.Resources>
<Style TargetType="TextBlock">
<Setter Property="FontSize" Value="36"/>
</Style>
</Window.Resources>
<Grid VerticalAlignment="Bottom">
<StackPanel>
<TextBlock Text="StackPanel Item 1"/>
<TextBlock Text="StackPanel Item 2"/>
<TextBlock Text="StackPanel Item 3"/>
<TextBlock Text="StackPanel Item 4"/>
<TextBlock Text="StackPanel Item 5"/>
<TextBlock Text="StackPanel Item 6"/>
</StackPanel>
</Grid>
</Window>
看起来像这样:
但是当您添加更多项目时,看起来像这样:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.