4

这应该很简单:如何在 DockPanel 内拉伸 StackPanel,以便它填充整个父级的内容并保持它的 Horizo​​ntalAlignment?

例子:

<DockPanel LastChildFill="True">
    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center" Background="Yellow">
        <Button Height="30">Button1</Button>
        <Button Height="30">Button2</Button>
    </StackPanel>
</DockPanel>

在此示例中,StackPanel 的宽度与两个按钮的组合宽度相同(这里的背景为黄色),但 DockPanel 中的剩余空间保持白色。看起来 LastChildFille 属性在我的示例中不起作用。

4

1 回答 1

2

我认为通过在 StackPanel 上设置HorizontalAligmentCenter,您将覆盖 DockPanel 的行为,以用 StackPanel 填充整个空间。

当我正确理解您的问题时,您希望整个空间为黄色,并且带有按钮的堆栈面板位于中间。然后,您应该将 StackPanel 包装在 Grid 中。

<DockPanel LastChildFill="True">
  <Grid Background="Yellow">
    <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
      <Button Height="30">Button1</Button>
      <Button Height="30">Button2</Button>
    </StackPanel>
  </Grid>
</DockPanel>
于 2013-03-11T08:24:52.810 回答