首页 > 解决方案 > 对齐窗口顶部和底部的内容

问题描述

我不知道如何在 WPF 中使某些内容与屏幕顶部对齐,而另一些与屏幕底部对齐。基本上,我想在窗口的顶部放置两行内容,在底部放置两行内容。请注意,我是 WPF 的初学者。

这就是我尝试的方式:

<StackPanel>
   <StackPanel VerticalAlignment="Top">
       <!-- some code here -->
   </StackPanel>

   <StackPanel VerticalAlignment="Bottom">
       <!-- some code here -->
   </StackPanel>
</StackPanel>

但这不起作用。解决方案是什么?

标签: wpfxaml

解决方案


你可以使用 a DockPanel。使用Dock附加属性,您可以设置子元素的位置。停靠面板中的最后一个元素将占据剩余空间。如果您不希望这样,您可以将其LastChildFill属性设置为false.

<DockPanel>
   <StackPanel DockPanel.Dock="Top">
      <Button Content="Top 1" />
      <Button Content="Top 2" />
   </StackPanel>
   <StackPanel DockPanel.Dock="Bottom">
      <Button Content="Bottom 1" />
      <Button Content="Bottom 2" />
   </StackPanel>
   <Grid>
      <TextBlock Text="Center"
                 VerticalAlignment="Center"
                 HorizontalAlignment="Center"/>
   </Grid>
</DockPanel>

或者没有StackPanels 甚至更简单。

<DockPanel>
   <Button DockPanel.Dock="Top" Content="Top 1" />
   <Button DockPanel.Dock="Top" Content="Top 2" />
   <Button DockPanel.Dock="Bottom" Content="Bottom 1" />
   <Button DockPanel.Dock="Bottom" Content="Bottom 2" />
   <TextBlock Text="Center"
              VerticalAlignment="Center"
              HorizontalAlignment="Center"/>
</DockPanel>

结果看起来像这样。

停靠面板示例


推荐阅读