我正在研究WPF应用程序。我的xaml文件中有一个StackPanel
。在StackPanel中有三个按钮。问题是所有按钮都在左侧或右侧。我想要的是一个按钮是左侧的一个按钮和右侧的两个按钮。
<StackPanel Orientation="Horizontal" FlowDirection="RightToLeft" >
<Button Content="Open"/>
<Button Content="Close"/>
<Button Content="Help"/>
</StackPanel>
这样的输出是这样的。
你可以看到左侧有很多空间。我希望我的帮助按钮位于极左侧,最右侧是关闭和打开。我想我可以通过实现一个网格或类似的东西来做到这一点,但我想问一下我是否可以只使用堆栈面板来做到这一点。
答案 0 :(得分:8)
您不能使用StackPanel
执行此操作,但是您没有“使用”Grid
。
您可以使用DockPanel
作为妥协
<DockPanel LastChildFill="False">
<Button Content="Help" DockPanel.Dock="Left" />
<Button Content="Close" DockPanel.Dock="Right" />
<Button Content="Open" DockPanel.Dock="Right" />
</DockPanel>
LastChildFill="False"
将确保您最后添加的控件不会“填满”所有剩余空间,从而为您提供所需的外观。
答案 1 :(得分:1)
您需要使用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>