2013-05-10 62 views
0

我有一个WinRT应用程序,我希望用户能够选择主题,除Light/Dark之外,我还可以定义其他主题吗?WinRT用户可选主题

回答

1

它目前没有内置到平台中,所以您需要自己实现它。我会这样做的方式是在应用程序级别替换资源字典,并在切换字典时重新创建可视化树(例如,删除并添加整个控制树 - 根Frame,当前页面等。StaticResource绑定永远不会更新,因此您需要以强制重新评估,这应该是最简单的方法来做到这一点

+0

Filip,我该如何做到这一点?我试图改变一些资源在运行时,他们不显示,除非我重新启动应用程序,假设它是由于StaticResource绑定没有更新,就像你说的那样。你可以举一个例子来说明如何做到这一点吗? – 2015-06-03 03:03:43

+0

StaticResources是静态的,所以它们不会重新评估,除非他们需要。他们被加载,但你可以尝试我提到的 - 从Window.Current.Content中移除框架,然后将其添加或返回新实例。导航到页面的新实例等。 – 2015-06-03 04:34:59

+0

当然,这也有可能是因为我最后一次尝试 - 平台变得更聪明并且正在缓存资源,因此您需要重新启动应用以刷新它们,但我仍然会尝试。 – 2015-06-03 04:36:33