【问题标题】:UIElement.InvalidateVisual on Windows Phone 7Windows Phone 7 上的 UIElement.InvalidateVisual
【发布时间】:2011-08-14 16:18:51
【问题描述】:

我制作了一个自定义 UIElement,当某些 DependencyProperties 发生更改时,它需要更新其外观。但我在 UIElement 类上找不到 InvalidateVisual 方法。为什么它在 WP7-API 中被删除了?有解决办法吗?


更新:

我遇到的问题似乎与 Silverlight/WP7 中根本不支持自定义形状衍生物有关!我必须重新考虑这一点。

【问题讨论】:

    标签: silverlight windows-phone-7


    【解决方案1】:

    如果您查看UIElement.InvalidateVisual 的文档,您会发现它声明:

    通常不会从您的应用程序代码中调用此方法。这 WPF 框架级布局系统自己处理 元素的可视化树,并且会调用等价于 必要时已使用此方法。

    当您的依赖属性发生变化时,只需更新您的 UI 的状态。例如,如果您有一个矩形,其宽度取决于依赖属性值,只需在依赖属性事件更改处理程序中更改宽度即可。渲染框架将为您执行所需的失效。

    【讨论】:

    • InvalidateVisual 在 WP7-API 中不存在。而且由于 FrameworkPropertyMetadata.AffectsRender 也不存在,我必须手动触发某种刷新。
    • 正确,WPF 中没有元数据。直接更新你的用户界面
    猜你喜欢
    • 1970-01-01
    • 2023-04-10
    • 2012-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多