WPF UI NavigationViewItem选中状态颜色修改问题求助
你用到的NavigationViewItemForegroundPressed是按压状态的前景色,并非选中状态的对应资源键。要修改选中状态的颜色,需要使用以下针对性的资源键:
- 普通选中状态的前景色:
NavigationViewItemForegroundSelected - 选中且鼠标悬停的前景色:
NavigationViewItemForegroundSelectedHover - 选中且按压的前景色:
NavigationViewItemForegroundSelectedPressed
同时要确保你的自定义资源优先级足够(比如放在窗口/页面的本地资源中,且在WPF UI默认资源字典之后加载,才能覆盖默认值)。给你一个可直接参考的示例:
<Window.Resources> <!-- 选中状态前景色 --> <SolidColorBrush x:Key="NavigationViewItemForegroundSelected" Color="Lime"/> <!-- 选中指示器颜色 --> <SolidColorBrush x:Key="NavigationViewSelectionIndicatorForeground" Color="Red"/> <!-- 可选:选中且按压时的前景色 --> <SolidColorBrush x:Key="NavigationViewItemForegroundSelectedPressed" Color="GreenYellow"/> </Window.Resources>
如果仍然不生效,排查以下两点:
- 确认你的自定义资源是在WPF UI默认资源字典之后合并加载的
- 检查NavigationViewItem本身有没有直接设置
Foreground属性,本地属性会覆盖资源字典中的值
内容的提问来源于stack exchange,提问作者user24858711
相关产品推荐
相关产品推荐

