基本上,在使用 NavigationView 时,设置项始终显示为齿轮图标和“设置”文本。这两件事可以改变吗?
小智 5
这就是我更改文本的方式:
private void Navigation_Loaded(object sender, RoutedEventArgs e)
{
var settings = (Microsoft.UI.Xaml.Controls.NavigationViewItem) Navigation.SettingsItem;
settings.Content = "Other settings";
}
Run Code Online (Sandbox Code Playgroud)
导航是我在 XAML 中的控件<NavigationView x:Name="Navigation" />。
是的,您可以编辑控件的默认模板来修改设置区域的样式。您可以在那里找到以下内容:
<NavigationViewItem x:Name="SettingsNavPaneItem" Grid.Row="5">
<NavigationViewItem.Icon>
<SymbolIcon Symbol="Setting"/>
</NavigationViewItem.Icon>
</NavigationViewItem>
Run Code Online (Sandbox Code Playgroud)
所以改变图标很容易。关于文本,您也可以在此处更改它,但我不确定控件是否不会覆盖它,并且无法验证,因为我不在我的电脑旁。尝试使用SettingsItem的属性NavigationView并强制转换为NavigationViewItem。
以下是如何自定义设置项文本,我不知道为什么我之前没有考虑过它 - 创建自定义NavigationView并手动更新文本OnApplyTemplate:
public class CustomizableNavigationView : NavigationView
{
protected override void OnApplyTemplate()
{
base.OnApplyTemplate();
var settingsItem = (NavigationViewItem)GetTemplateChild("SettingsNavPaneItem");
settingsItem.Content = "Custom text";
}
}
Run Code Online (Sandbox Code Playgroud)
展望未来,推荐的解决方案将是使用WinUI 库及其NavigationView控件。NavigatoinItem这允许您在该区域中添加多个PaneFooter,并且这些是完全可配置的。除此之外,新控件不仅支持经典的汉堡菜单显示,还可以在视图顶部水平显示,这是现在推荐的大屏幕导航模式。
| 归档时间: |
|
| 查看次数: |
3362 次 |
| 最近记录: |