繁体   English   中英

WPF StackPanel - 如何将物品从底部推出

[英]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>

看起来像这样:

未满 StackPanel 从底部增长

但是当您添加更多项目时,看起来像这样:

StackPanel 溢出的项目从底部溢出

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM