允许用户自定义主题颜色

时间:2014-01-22 19:33:32

标签: c# xaml windows-8 microsoft-metro winrt-xaml

我有一个Windows 8.1 XAML应用程序。我希望允许用户自己定制应用程序的主题 - 例如,我想给他们一个颜色选择器,他们可以在应用程序中设置各种颜色,这将设置我的应用程序中使用的各种资源。

问题是,我无法找到如何动态更改资源的值。我在8.1中知道他们添加了一个主题资源的概念,它允许我在运行时从轻微主题变为黑暗主题,而不是。但我的问题是,我想说“backgroundColor”资源现在是橙色的,使用此资源的所有项目都会反映出这种变化'

我相信DynamicResource XAML元素是我需要的,但它似乎来自WPF,而Win8则不支持。有没有人有建议?

简而言之 - 我希望能够轻松提供动态资源画笔。

2 个答案:

答案 0 :(得分:0)

不幸的是,我不相信有一个很好的内置方式,所以任何解决方案都可能有点hacky或不愉快。

This问题有一些很好的答案,this答案是我个人的最爱。缺点是它会导致ViewModel对视图承担更多的责任而不是理想的。

答案 1 :(得分:0)

实际上,您可以根据用户的选择动态访问要更改的元素的属性。