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不,它不起作用,所以您只是定义样式,而不是将页面的样式设置为此样式。您应该使用,如果是这种情况,那么文档一定是错误的。在整个页面中,他们都在使用我使用的代码:嗯,是的,忘记了隐式样式,已经有一段时间没有使用它了。。。您是否尝试设置例如按钮。参考资料来更改其样式?不知道这是否有效。