2

我正在开发一个 WPF 应用程序。我的 xaml 文件中有一个StackPanel。在 StackPanel 中有三个按钮。问题是所有按钮都在左侧或右侧。我想要的是一个按钮是左侧的一个,右侧是两个按钮。

<StackPanel Orientation="Horizontal" FlowDirection="RightToLeft" >
    <Button Content="Open"/>
    <Button Content="Close"/>
    <Button Content="Help"/>
</StackPanel>

这个的输出是这样的。 输出

如您所见,左侧有很多空间。我希望我的帮助按钮位于最左侧,而关闭和打开位于最右侧。我想我可以通过实现一个网格或类似的东西来做到这一点,但我想问一下我是否可以只使用堆栈面板来做到这一点。

4

2 回答 2

8

你不能用 a 做到这一点StackPanel,但是你没有“必须”使用 a Grid

您可以使用 aDockPanel作为折衷方案

<DockPanel LastChildFill="False">
  <Button Content="Help" DockPanel.Dock="Left" />
  <Button Content="Close" DockPanel.Dock="Right" />
  <Button Content="Open" DockPanel.Dock="Right" />
</DockPanel>

LastChildFill="False"将确保您最后添加的控件最终不会“填满”所有剩余空间,从而为您提供所需的外观。

于 2013-06-11T13:12:48.250 回答
1

您需要为此使用 a Grid

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="Auto" />
    </Grid.ColumnDefinitions>

    <Button Grid.Column="0" Content="Help"/>
    <Button Grid.Column="1" Content="Close"/>
    <Button Grid.Column="2" Content="Open"/>
</Grid>
于 2013-06-11T13:07:29.433 回答