C# 如何使页面无效以再次强制呈现?

C# 如何使页面无效以再次强制呈现?,c#,silverlight,windows-phone-7,C#,Silverlight,Windows Phone 7,我的windows phone 7应用程序中有一个页面。此页面将其背景色设置为基于设置选项动态添加的静态资源 现在的问题是:假设页面现在是白色的,我转到设置并从该页面选择背景黑色,然后单击确定返回(当然,在App.xaml上重置静态资源)。当我返回主页时,因为应用程序的内存中已经有此页面,所以它仍将有白色背景。 我可以确认设置是否正确保存,因为当我退出并返回时,它工作正常 如何使silverlight页面的呈现状态无效?或者,我怎样才能告诉silverlight不要将页面保留在navigatio

我的windows phone 7应用程序中有一个页面。此页面将其背景色设置为基于设置选项动态添加的静态资源

现在的问题是:假设页面现在是白色的,我转到设置并从该页面选择背景黑色,然后单击确定返回(当然,在App.xaml上重置静态资源)。当我返回主页时,因为应用程序的内存中已经有此页面,所以它仍将有白色背景。
我可以确认设置是否正确保存,因为当我退出并返回时,它工作正常

如何使silverlight页面的呈现状态无效?或者,我怎样才能告诉silverlight不要将页面保留在navigation.back()上,而总是创建一个新版本

我在UIElement上找到了一些invalidatexx()方法,但它们似乎不相关


谢谢

我猜您正在删除并重新添加应用程序资源?如果是这样,StaticResource绑定仍在引用App.xaml中命名笔刷的前一个实例。我收集到StaticResource绑定不响应键的更改,只响应INotifyPropertyChanged事件

尝试更改现有笔刷资源的颜色值,而不是替换笔刷,例如:

(Application.Current.Resource["myColor"] as SolidColorBrush).Color = Colors.Red;
笔刷的颜色属性是一个依赖属性,因此更改应该在任何地方更新

*注意:我只能用SL而不是WP7来测试这一点,因为这里的机器是Win server 2003。不是努芬+1为自我拍拍。干杯