基本上,使用NavigationView时,设置项目始终显示为齿轮图标和“设置”文本。可以改变这两件事吗?
是的,您可以编辑控件的默认模板以修改设置区域的样式。您可以在此处找到以下内容:
<NavigationViewItem x:Name="SettingsNavPaneItem" Grid.Row="5">
<NavigationViewItem.Icon>
<SymbolIcon Symbol="Setting"/>
</NavigationViewItem.Icon>
</NavigationViewItem>
因此更改图标很容易。关于文本,您也可以在此处进行更改,但是我不确定控件是否不会覆盖它,并且由于我不在电脑上而无法验证。尝试使用SettingsItem
的财产NavigationView
和转换为NavigationViewItem
。
这是您可以自定义设置项目文本的方法,我不知道为什么以前没有考虑过-创建自定义NavigationView
并在OnApplyTemplate
以下位置手动更新文本:
public class CustomizableNavigationView : NavigationView
{
protected override void OnApplyTemplate()
{
base.OnApplyTemplate();
var settingsItem = (NavigationViewItem)GetTemplateChild("SettingsNavPaneItem");
settingsItem.Content = "Custom text";
}
}
展望未来,推荐的解决方案将是使用WinUI库及其NavigationView
控件。这使您可以NavigatoinItem
在该PaneFooter
区域中添加多个,并且它们是完全可配置的。除此之外,新控件不仅支持经典汉堡菜单显示,而且还可以在视图顶部水平显示,这是现在在大屏幕上推荐的导航模式。
使用
<NavigationViewItem.Content> <TextBlock /> </NavigationViewItem.Content>
不起作用,您是对的。您最后一句话的意思是,您能提供更多细节吗?抱歉,没有注意到您的评论。您能解决这个问题吗?
我仍然不知道如何更改文本:(
我已经用WinUI库更新了我的答案
NavigationView
@Xinpeng我知道这早就该了,但是我已经为我的答案更新了一个适当的解决方案,用于更改文本:-)!