使用Windows Phone重新评估样式

时间:2013-12-29 22:15:58

标签: xaml windows-phone-8

我正在尝试在我的Windows Phone 8应用程序中实现一种主题机制,我正在做的是从持久存储中获取设置并将其解析为引用的样式:

Style="{Binding Source={StaticResource ThemeLocator}, Path=GetThemePanoBackground}"

ThemeLocator返回定义背景的应用程序资源中的样式。

这很有效但是当主题改变并且我回到上一页时,不会重新评估样式。我试图调查DynamicResource,但我似乎无法获得有关如何在Windows Phone中使用它的任何好的参考,或者它甚至支持或适用于我的用例。

欢迎任何关于所涉方法的建议!

修改

除非我必须在NavigatedTo事件中使用以下内容并明确设置:

control.Style = ThemeLocator.GetThemePanoBackground;

1 个答案:

答案 0 :(得分:0)

对方法不太兴奋,但这有效。如果其他人有一些很好的意见。

        if (ApplicationState.ThemeUpdated)
        {
            Control.ItemTemplate = null;
            Control.ItemTemplate = (DataTemplate)Application.Current.Resources["CustomTemplate"];
        }

控制风格与其他绑定完全重新同步,效果很好。