2013-02-28 117 views
0

我想弄清楚如何在WinRT中为整个应用程序使用自定义背景颜色。基本上,我想给用户一个选项来更改背景颜色代码。选择和存储这很容易。我未能看到的是如何设置它以便:WinRT运行时定制背景颜色

A)当用户更改颜色时立即更改。 B)使用资源字典设置背景颜色

最初,我只是通过将每个基本网格的背景颜色设置为静态设置的颜色,为每个帧/页面设置背景颜色。我尝试使用绑定来绑定颜色,但这似乎不起作用。

因此,我尝试将背景颜色分解为资源字典,以查看是否可以获得一个设置以应用于应用程序,但即使这似乎不起作用(不编译)。像这样:

<ResourceDictionary> 
    <Page.Background> 
     <SolidColorBrush Color="Black"/> 
    </Page.Background> 
</ResourceDictionary> 

我也尝试将它应用于框架而不是页面,但似乎并没有编译。首先,我似乎无法编译任何东西来设置一种常见的App颜色。

第二个是一旦工作,如何在运行中更改ResourceDictionary以应用新的背景颜色。

我搜索了互联网和多个网站试图找到的例子,但没有任何好的例子,这甚至正在做。

对于第一个希望最简单的问题的答案会很棒。帮助设置背景将锦上添花!

回答

0

这在WinRT/XAML中有点难,因为它没有WPF的{DynamicResource}概念,所以即使你以编程方式修改资源字典(这应该是可行的) - 你仍然会需要以某种方式触发整个UI树重新加载。也许通过在根框架中来回导航(假设你使用一个)?