gpt4 book ai didi

c# - 如何使页面无效以再次强制渲染?

转载 作者:太空宇宙 更新时间:2023-11-03 11:33:57 24 4
gpt4 key购买 nike

我的 Windows Phone 7 应用程序中有一个页面。此页面将其背景颜色设置为基于设置选项动态添加的 StaticResource。

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

如何使 silverlight 页面的呈现状态无效?或者我如何告诉 silverlight 不要将页面保留在 navigation.back() 上并始终创建新版本?

我在 UIElement 上发现了一些 InvalidateXXX() 方法,但它们似乎无关紧要。

谢谢

最佳答案

我猜您正在删除并重新添加 App 资源?如果是这样,则 StaticResource 绑定(bind)仍在引用 App.xaml 中该命名画笔的先前实例。我收集到 StaticResource 绑定(bind)不响应 key 更改,仅响应 INotifyPropertyChanged 事件。

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

(Application.Current.Resource["myColor"] as SolidColorBrush).Color = Colors.Red;

画笔的 Color 属性是一个依赖属性,因此更改应该随处更新。

*注意:我只能用 SL 测试,不能用 WP7,因为这里的机器是 Win server 2003

关于c# - 如何使页面无效以再次强制渲染?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6866692/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com