0

我想在彼此的顶部布局 2 个标签,然后将两个按钮水平相邻但在标签下方(下面是我希望它看起来像的示例)

(所有项目都居中)

Welcome
Please Select A Language

English     Spanish

这是我的 XAML

<Window x:Class="Probation_Sign_In.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="768" Width="1024" Closing="Window_Closing" ResizeMode="NoResize" Topmost="True" WindowStartupLocation="CenterScreen" WindowState="Maximized">
    <Grid>        
        <GroupBox Header="GroupBox" HorizontalAlignment="Left" Height="492" Margin="10,10,0,0" VerticalAlignment="Top" Width="505">
            <StackPanel>
                <Label x:Name="labelWelcome" Content="Welcome." HorizontalAlignment="Left" VerticalAlignment="Top" FontSize="48" FontWeight="Bold" Margin="136,55,0,0"/>
                <Label x:Name="labelWelcomeMessage" Content="Please select a language." HorizontalAlignment="Left" Margin="50,193,0,0" VerticalAlignment="Top" FontSize="36"/>
                <Button x:Name="englishButton" Content="English" HorizontalAlignment="Center" Margin="109,410,767,297" VerticalAlignment="Center" Width="142" FontSize="20" TouchUp="englishButton_TouchUp" Click="englishButton_Click">
                    <Button.Background>
                        <LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
                            <GradientStop Color="#FFF3F3F3" Offset="0"/>
                            <GradientStop Color="#FFEBEBEB" Offset="0.5"/>
                            <GradientStop Color="#FFDDDDDD" Offset="0.5"/>
                            <GradientStop Color="#FF71B5BB" Offset="1"/>
                        </LinearGradientBrush>
                    </Button.Background>
                </Button>
                <Button Content="Español" HorizontalAlignment="Center" Margin="269,410,607,300" VerticalAlignment="Center" Width="142" FontSize="20" Height="30">
                    <Button.Background>
                        <LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
                            <GradientStop Color="#FFF3F3F3" Offset="0"/>
                            <GradientStop Color="#FFEBEBEB" Offset="0.5"/>
                            <GradientStop Color="#FFDDDDDD" Offset="0.5"/>
                            <GradientStop Color="#FF71B5BB" Offset="1"/>
                        </LinearGradientBrush>
                    </Button.Background>
                </Button>
            </StackPanel>
        </GroupBox>


    </Grid>
</Window>

上面的 XAML 没有给我想要的结果。但所有控件都必须在 GroupBox 内

4

2 回答 2

3

Button将您的控件包装在另一个中StackPanel并将其Orientation属性设置为Horizontal

<Grid>
    <GroupBox Header="GroupBox" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Width="505">
        <StackPanel>
            <Label x:Name="labelWelcome" Content="Welcome." HorizontalAlignment="Left" VerticalAlignment="Top" FontSize="48" FontWeight="Bold" Margin="136,10,0,0"/>
            <Label x:Name="labelWelcomeMessage" Content="Please select a language." HorizontalAlignment="Left" Margin="50,0,0,0" VerticalAlignment="Top" FontSize="36"/>
            <StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
                <Button x:Name="englishButton" Content="English" Width="142" FontSize="20" Margin="5" TouchUp="englishButton_TouchUp" Click="englishButton_Click">
                    <Button.Background>
                        <LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
                            <GradientStop Color="#FFF3F3F3" Offset="0"/>
                            <GradientStop Color="#FFEBEBEB" Offset="0.5"/>
                            <GradientStop Color="#FFDDDDDD" Offset="0.5"/>
                            <GradientStop Color="#FF71B5BB" Offset="1"/>
                        </LinearGradientBrush>
                    </Button.Background>
                </Button>
                <Button Content="Español" Width="142" FontSize="20" Height="30" Margin="5">
                    <Button.Background>
                        <LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
                            <GradientStop Color="#FFF3F3F3" Offset="0"/>
                            <GradientStop Color="#FFEBEBEB" Offset="0.5"/>
                            <GradientStop Color="#FFDDDDDD" Offset="0.5"/>
                            <GradientStop Color="#FF71B5BB" Offset="1"/>
                        </LinearGradientBrush>
                    </Button.Background>
                </Button>
            </StackPanel>
        </StackPanel>
    </GroupBox>
</Grid>

编辑: 更改边距值,以便控件堆栈更近。使用该Margin属性来获得您想要的间距。

于 2013-10-09T19:39:08.140 回答
0

尝试这个

                </Grid.ColumnDefinitions>
            <Button x:Name="englishButton" Content="English" HorizontalAlignment="Center"  VerticalAlignment="Center" Width="142" FontSize="20" Click="englishButton_Click">
                <Button.Background>
                    <LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
                        <GradientStop Color="#FFF3F3F3" Offset="0"/>
                        <GradientStop Color="#FFEBEBEB" Offset="0.5"/>
                        <GradientStop Color="#FFDDDDDD" Offset="0.5"/>
                        <GradientStop Color="#FF71B5BB" Offset="1"/>
                    </LinearGradientBrush>
                </Button.Background>
            </Button>
            <Button  Grid.Column="1" Content="Español" HorizontalAlignment="Center" VerticalAlignment="Center" Width="142" FontSize="20" Height="30">
                <Button.Background>
                    <LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
                        <GradientStop Color="#FFF3F3F3" Offset="0"/>
                        <GradientStop Color="#FFEBEBEB" Offset="0.5"/>
                        <GradientStop Color="#FFDDDDDD" Offset="0.5"/>
                        <GradientStop Color="#FF71B5BB" Offset="1"/>
                    </LinearGradientBrush>
                </Button.Background>
            </Button>
            </Grid>
        </StackPanel>
    </GroupBox>


</Grid>

于 2013-10-09T19:40:21.203 回答