WPF按钮排列

时间:2013-12-09 15:58:08

标签: c# wpf

我是WPF的新手,我正在尝试安排一堆按钮:

  • 我有5个Marllet按钮:上,下,左,右,重置。
  • 分别在顶部,底部,左侧和右侧安排,向下,向左和向右
  • 我想让重置按钮占据其他4个按钮所包围的中心位置。

这是我当前的WPF代码,但它排列在其他4旁边的重置按钮,另外4个从上到下排列

 <StackPanel Orientation="Horizontal">
                            <StackPanel>
                                <Button Content="Reset" Width="75" Height="30" Click="btnResetCrop3D_Click"/>
                            </StackPanel>
                            <StackPanel>
                                <Button FontFamily="Marlett" FontSize="20" Content="3" Width="20" Height="30"/>
                                <Button FontFamily="Marlett" FontSize="20" Content="4" Width="20" Height="30"/>
                                <Button FontFamily="Marlett" FontSize="20" Content="5" Width="20" Height="30"/>
                                <Button FontFamily="Marlett" FontSize="20" Content="6" Width="20" Height="30"/>
                            </StackPanel>
                        </StackPanel>

对不起,我没有足够的积分来发布图片。因此,如果您对我的描述有任何疑惑,请告诉我。

2 个答案:

答案 0 :(得分:1)

正如@JeffRSon所说使用Grid

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="*" />
        <RowDefinition Height="*" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <Button Grid.Row="1" Grid.Column="0" Content="Left" />
    <Button Grid.Row="0" Grid.Column="1" Content="Top" />
    <Button Grid.Row="1" Grid.Column="2" Content="Right" />
    <Button Grid.Row="2" Grid.Column="1" Content="Bottom" />
    <Button Grid.Row="1" Grid.Column="1" Content="Center" />
</Grid>

答案 1 :(得分:0)

使用DockPanel完成同样的事情

<DockPanel Height="300" Width="300">
    <Button Content="Top" DockPanel.Dock="Top" Height="100" Width="100"/>
    <Button Content="Bottom" DockPanel.Dock="Bottom" Height="100" Width="100"/>
    <Button Content="Left" Height="100" Width="100"/>
    <Button Content="Right" DockPanel.Dock="Right" Height="100" Width="100"/>
    <Button Content="Last Child" Height="100" Width="100"/>
</DockPanel>

个人选择,但是:)