我正在尝试使用UWP中的NavigationView控件创建导航菜单,并且希望在窗格显示模式设置为“顶部”时将导航项居中。
我尝试使用HorizontalAlignment和VerticalAlignment属性,但似乎没有任何效果。谁能提供一个示例,说明当窗格显示模式设置为“顶部”时,如何在NavigationView控件中居中显示导航项?
<Grid>
<NavigationView PaneDisplayMode="Top"
HorizontalContentAlignment="Center">
<NavigationView.MenuItems>
<NavigationViewItem Content="Nav iTem"/>
<NavigationViewItem Content="Nav iTem"/>
<NavigationViewItem Content="Nav iTem"/>
</NavigationView.MenuItems>
</NavigationView>
</Grid>
1条答案
按热度按时间yc0p9oo01#
你需要修改
NavigationView
的默认样式来达到你想要的效果。你可以参考@FrozenAssassine的答案:https://stackoverflow.com/a/74861708/8443430创建NavigationView
默认样式的副本,然后搜索x:Name="TopNavGrid"
,您将看到顶部模式下导航项目的部分。默认样式的一部分:
这些项位于名为
TopNavMenuItemsHost
的NavigationViewList控件中,TopNavMenuItemsHost
位于TopNavGrid
的列中。列的宽度设置为Auto,这意味着宽度取决于内容。列将与TopNavMenuItemsHost
一样大。因此,您无法将项置于中心。要更改行为,请将ColumnDefinitions修改为以下内容:
将
TopNavMenuItemsHost
的ColumnDefinition设置得更大,然后就可以将HorizontalAlignment="Center"
设置为TopNavMenuItemsHost
。