Xaml 使用Windows Phone重新评估样式

Xaml 使用Windows Phone重新评估样式,xaml,windows-phone-8,Xaml,Windows Phone 8,我正在尝试在我的Windows Phone 8应用程序中实现一种主题化机制,我正在做的是从持久存储中获取一个设置,并将其解析为引用的样式: Style="{Binding Source={StaticResource ThemeLocator}, Path=GetThemePanoBackground}" 其中ThemeLocator从定义背景的应用程序资源中返回样式 这很好,但是当主题被改变,我回到上一页时,样式不会被重新评估。我曾尝试查看DynamicResource,但我似乎无法获得任何

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

Style="{Binding Source={StaticResource ThemeLocator}, Path=GetThemePanoBackground}"
其中
ThemeLocator
从定义背景的应用程序资源中返回样式

这很好,但是当主题被改变,我回到上一页时,样式不会被重新评估。我曾尝试查看
DynamicResource
,但我似乎无法获得任何关于如何在Windows Phone上使用它的好参考,或者它是否受支持,或者是否适用于我的用例

欢迎对所涉及的方法提出任何建议

编辑

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


control.Style=ThemeLocator.GetThemePanoBackground

对该方法不太感兴趣,但这很有效。如果其他人有一些意见,那就太好了

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

控件样式与其他绑定一起完全重新调整,效果非常好。

Windows Phone主题管理器也做了类似的事情。您可能想看看源代码。