WinUI3 NavigationView默认颜色为白色而非灰度,如何恢复画廊默认样式?
确认WinUI 3默认资源字典已正确引用
控件的主题适配配色依赖WinUI默认资源,需确保App.xaml中已合并对应资源字典。如果缺失,将以下代码添加到Application.Resources节点内:<Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" /> <!-- 自定义资源字典可放在此处 --> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources>移除硬编码的背景覆盖属性
检查NavigationView自身或其父容器(如Grid、Page)是否设置了Background="White"这类固定背景值,若有则删除该属性,让控件继承主题默认的灰度背景资源。避免强制固定应用主题
不要在App.xaml.cs中硬编码设置RequestedTheme为Light或Dark,让应用跟随系统主题自动切换。如果需要手动控制主题,也要确保切换时资源能正常更新:// 注释或删除这类固定主题的代码 // App.Current.RequestedTheme = ApplicationTheme.Light;排查自定义样式的修改
若使用了自定义NavigationView样式,确保未在样式中覆盖Background属性,或使用了主题资源而非固定颜色值。正确的写法应为引用{ThemeResource NavigationViewBackground}这类主题资源,而非硬写颜色代码。
补充:WinUI3 Gallery中的NavigationView无需手动设置背景,正是因为它依赖了WinUI默认资源字典,控件会根据当前主题自动加载对应的灰度背景。
内容的提问来源于stack exchange,提问作者CheckItOut
相关产品推荐
相关产品推荐

