我正在尝试在我的Windows Phone 8应用程序中实现一种主题机制,我正在做的是从持久存储中获取设置并将其解析为引用的样式:
Style="{Binding Source={StaticResource ThemeLocator}, Path=GetThemePanoBackground}"
ThemeLocator
返回定义背景的应用程序资源中的样式。
这很有效但是当主题改变并且我回到上一页时,不会重新评估样式。我试图调查DynamicResource
,但我似乎无法获得有关如何在Windows Phone中使用它的任何好的参考,或者它甚至支持或适用于我的用例。
欢迎任何关于所涉方法的建议!
修改
除非我必须在NavigatedTo
事件中使用以下内容并明确设置:
control.Style = ThemeLocator.GetThemePanoBackground;
答案 0 :(得分:0)
对方法不太兴奋,但这有效。如果其他人有一些很好的意见。
if (ApplicationState.ThemeUpdated)
{
Control.ItemTemplate = null;
Control.ItemTemplate = (DataTemplate)Application.Current.Resources["CustomTemplate"];
}
控制风格与其他绑定完全重新同步,效果很好。