我的应用需要让用户对齐项目;左,右和中心。我在编写应用程序以处理此问题时遇到问题,这意味着应用程序可以左对齐或右对齐但不是全部三个。我如何通过按钮按下(例如,我能够在XMLA中进行实际格式化后知道如何执行此操作)来获取左对齐,右对齐和中心对齐的示例5个按钮的项目?
我的第一个想法是使用停靠面板做这件事;
<DockPanel MinWidth="500" Background="LightGray" Margin="20" LastChildFill="False">
<Button Margin="10" DockPanel.Dock="Left" >one</Button>
<Button Margin="10" DockPanel.Dock="Left">two</Button>
<Button Margin="10" DockPanel.Dock="Left">three</Button>
<Button Margin="10" DockPanel.Dock="Left">four</Button>
<Button Margin="10" DockPanel.Dock="Left">five</Button>
</DockPanel>
这适用于左右对齐。问题是没有DockPanel.Dock =“中心”
接下来尝试了一个Grid;
<Grid Background="LightGray" MinWidth="500">
<Button HorizontalAlignment="Left" Margin="10,10,10,10">one</Button>
<Button HorizontalAlignment="Left" Margin="10,10,10,10">two</Button>
<Button HorizontalAlignment="Left" Margin="10,10,10,10">three</Button>
<Button HorizontalAlignment="Left" Margin="10,10,10,10">four</Button>
<Button HorizontalAlignment="Left" Margin="10,10,10,10">five</Button>
</Grid>
问题是这种情况发生了;
编辑:显然我没有把我的问题弄清楚。
edit2:@Henka程序员的建议不起作用。首先,我认为他的意思是HorizontalAlignment而不是VerticalAlignment。使用此代码;
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Background="LightGray" MinWidth="500">
<Button Content="btn 01" />
<Button Content="btn 02" />
<Button Content="btn 03" />
<Button Content="btn 0" />
</StackPanel>
给出这个结果;
将HorizontalAlignment="Right"
更改为HorizontalAlignment="Center"
没有任何区别
答案 0 :(得分:0)
我认为你的意思是:
// ...
<Grid>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center">
<Button Content="btn 01" />
<Button Content="btn 02" />
<Button Content="btn 03" />
<Button Content="btn 0" />
</StackPanel>
</Grid>
// ...
您可以将StackPanel的对齐方式更改为:
和StackPanel方向:
垂直
水平
答案 1 :(得分:0)
StackPanel上的水平对齐属性将使StackPanel相对于其父元素对齐。这很好用:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="1000">
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Top">
<Button Content="Button 1" />
<Button Content="Button 2" />
<Button Content="Button 3" />
<Button Content="Button 4" />
<Button Content="Button 5" />
</StackPanel>
</Window>