Uwp 如何使用ResourceDictionary设置页面背景色?

Uwp 如何使用ResourceDictionary设置页面背景色?,uwp,uwp-xaml,Uwp,Uwp Xaml,我创建了一个ResourceDictionary文件来存储页面的背景色。接下来,我在主页中引用了ResourceDictionary 尽管Visual Studio 2019(16.7.7)设计器正确地将页面的背景色呈现为红色,但运行的程序本身却没有 我做错了什么 以下是资料来源: MainPage.xaml 试验 字典1.xaml 您不想在页面导入资源字典,而是想在App.xaml中导入此资源字典,如下所示: 然后需要将x:Key添加到自定义样式: 现在在页面中只需添加以下行

我创建了一个
ResourceDictionary
文件来存储
页面的背景色。接下来,我在主页中引用了
ResourceDictionary

尽管Visual Studio 2019(16.7.7)设计器正确地将
页面的背景色呈现为红色,但运行的程序本身却没有

我做错了什么



以下是资料来源: MainPage.xaml

试验
字典1.xaml
您不想在
页面导入资源字典,而是想在
App.xaml中导入此资源字典,如下所示:


然后需要将
x:Key
添加到自定义样式:


现在在
页面中
只需添加以下行:

Style=“{StaticResource CustomPageBackground}”
像这样:


来自Jim Walker@:

在应用程序中更改颜色的首选方法是使用相同的键创建自己的画笔,从而覆盖控制使用的系统画笔。大多数控件的类文档都有一个可以重写的资源列表

对于
页面
背景,您可以覆盖
应用程序页面背景Mebrush
资源:

,它需要在主题词典中。我使用带有键“Default”的字典来保持简单,但最好同时使用“Light”和“Dark”资源,如中所述。)

这还假设页面背景设置为该资源,在Visual Studio模板中默认设置为:
background=“{ThemeResource Application PageBackgroundThemebrush}”


谢谢,@leander,为我提供了这个解决方案!我问这个问题是为了更深入地理解这个框架。因此,从您的解决方案来看,您是在暗示
ResourceDictionary
不能应用于它自己的对象,而只能应用于该对象的子对象?(没有考虑继承,就像你一样。)我问这个问题是因为我想我可能在UWP中发现了一个bug。因为以下内容也不起作用,尽管它应该起作用:
@AxD不,它不起作用,所以您只是定义样式,而不是将页面的样式设置为此样式。您应该使用
,如果是这种情况,那么文档一定是错误的。在整个页面中,他们都在使用我使用的代码:嗯,是的,忘记了隐式样式,已经有一段时间没有使用它了。。。您是否尝试设置例如
按钮。参考资料
来更改其样式?不知道这是否有效。