这是 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="" Margin="10,0,0,0"/>
<FontIcon x:Name="btnSettings" Glyph="" Margin="10,0,0,0"/>
</StackPanel>
</Grid>
请注意,菜单是动态创建的,不在 XAML 中。如何在最右边创建两个字体图标?
例如记事本:
<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>