WPF StackPanel - 如何将项目推离底部
WPF StackPanel - how to push items off bottom
我有一个 StackPanel 在网格中垂直跨越整个屏幕,并且面板的 VerticalAlignment 选项设置为 Bottom。当我在代码中将项目添加到面板时,它们的位置从底部开始,当我添加更多时向上移动。这是需要的。然而,不希望的是在屏幕垂直填充项目后,添加更多项目会将它们推离屏幕顶部。我的愿望是让更多的物品从底部掉下来;我不在乎它们是否可见;我只是不想让最上面的项目消失。
您可能知道哪些技巧可以帮助我解决这个问题?提前谢谢你。
My desire is to have additional items fall off the bottom
您需要将 StackPanel
包裹在另一个容器中,使 StackPanel
本身可以随心所欲地增长,从而使 StackPanel
看起来从底部,但实际上是从顶部扩展,因此当它超过可用时 space,多余部分将从底部而不是顶部移除。
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>
看起来像这样:
但是当你添加更多项目时,看起来像这样:
我有一个 StackPanel 在网格中垂直跨越整个屏幕,并且面板的 VerticalAlignment 选项设置为 Bottom。当我在代码中将项目添加到面板时,它们的位置从底部开始,当我添加更多时向上移动。这是需要的。然而,不希望的是在屏幕垂直填充项目后,添加更多项目会将它们推离屏幕顶部。我的愿望是让更多的物品从底部掉下来;我不在乎它们是否可见;我只是不想让最上面的项目消失。
您可能知道哪些技巧可以帮助我解决这个问题?提前谢谢你。
My desire is to have additional items fall off the bottom
您需要将 StackPanel
包裹在另一个容器中,使 StackPanel
本身可以随心所欲地增长,从而使 StackPanel
看起来从底部,但实际上是从顶部扩展,因此当它超过可用时 space,多余部分将从底部而不是顶部移除。
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>
看起来像这样:
但是当你添加更多项目时,看起来像这样: