温馨提示:本文翻译自stackoverflow.com,查看原文请点击:uwp - Is it possible to change NavigationView's settings item's icon and text?
uwp uwp-xaml

uwp - 是否可以更改NavigationView的设置项目的图标和文本?

发布于 2020-05-09 09:42:53

基本上,使用NavigationView时,设置项目始终显示为齿轮图标和“设置”文本。可以改变这两件事吗?

查看更多

提问者
Xinpeng
被浏览
13
Martin Zikmund 2018-09-25 18:39

是的,您可以编辑控件的默认模板以修改设置区域的样式。您可以在此处找到以下内容:

<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

展望未来,推荐的解决方案将是使用WinUI库及其NavigationView控件这使您可以NavigatoinItem在该PaneFooter区域中添加多个并且它们是完全可配置的。除此之外,新控件不仅支持经典汉堡菜单显示,而且还可以在视图顶部水平显示,这是现在在大屏幕上推荐的导航模式。