WinUI3 Xaml 将列网格向右对齐

问题描述 投票:0回答:1

这是 XAML:

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto"></ColumnDefinition>
        <ColumnDefinition Width="*"></ColumnDefinition>
    </Grid.ColumnDefinitions>
    <MenuBar  Grid.Column="0" Grid.Row="0" RequestedTheme="Dark" VerticalAlignment="Top" HorizontalAlignment="Left" x:Name="TopMenu" />
    <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Margin="0" Grid.Column="1" Grid.Row="0"  >
        <FontIcon  x:Name="btnDark" Glyph="&#xE790;" Margin="10,0,0,0"/>
        <FontIcon  x:Name="btnSettings" Glyph="&#xE713;" Margin="10,0,0,0"/>
    </StackPanel>
</Grid>

我得到了这个:

请注意,菜单是动态创建的,不在 XAML 中。如何在最右边创建两个字体图标?

例如记事本:

xaml winapi winui-3
1个回答
0
投票
<Grid.ColumnDefinitions>
    <ColumnDefinition Width="Auto"></ColumnDefinition>
    <ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>

这将使第一列

MenuBar
占据所需的最小宽度,并让第二列
StackPanel
FontIcon
占据其余部分。

在你的情况下你想要相反的,所以:

<Grid.ColumnDefinitions>
    <ColumnDefinition Width="*"></ColumnDefinition>
    <ColumnDefinition Width="Auto"></ColumnDefinition>
</Grid.ColumnDefinitions>
© www.soinside.com 2019 - 2024. All rights reserved.