【问题标题】:WPF StackPanel - how to push items off bottomWPF StackPanel - 如何将项目推离底部
【发布时间】:2021-04-19 20:54:10
【问题描述】:

我有一个 StackPanel 在网格中垂直跨越整个屏幕,并且面板的 VerticalAlignment 选项设置为底部。当我在代码中将项目添加到面板时,它们的位置从底部开始,当我添加更多时它们会向上移动。这是所希望的。然而,不希望的是,在屏幕垂直填充项目后,添加更多项目会将它们推离屏幕顶部。我的愿望是让额外的物品从底部掉下来;我不在乎它们是否不可见;我只是不希望最上面的项目消失。

您可能知道什么技巧可以帮助我解决这个问题?提前谢谢你。

【问题讨论】:

    标签: wpf stackpanel


    【解决方案1】:

    我的愿望是让额外的物品从底部掉下来

    您需要将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>
    

    看起来像这样:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-26
      • 2015-06-24
      • 1970-01-01
      • 2010-11-28
      相关资源
      最近更新 更多