【问题标题】:How do I Monitor changes in an ItemsControl using Silverlight?如何使用 Silverlight 监视 ItemsControl 中的更改?
【发布时间】:2009-02-05 14:49:26
【问题描述】:

我有一个绑定到 ObservableCollection 的 ItemsControl。当可观察集合发生变化时,我有一个事件处理程序来查看 ItemsControl 的子项。不幸的是,当时 ItemsControl 还没有添加新项目(这是可以理解的)。我如何知道 ItemsControl 何时完成添加新的子控件?

换句话说,如果我使用 ItemsControl 来显示文本框列表,当新的 TextBox 控件添加到显示器时如何通知我?

【问题讨论】:

    标签: silverlight itemscontrol


    【解决方案1】:

    好吧,我最终深入控件以找到 ContentPresenter。然后我附加到 LayoutUpdated 事件,该事件对孩子进行计数以查看它是否发生了变化。

    这是一种奇怪的解决方案,但确实有效。

    【讨论】:

      【解决方案2】:

      如果您将 ObservableCollection 绑定到 ItemsControl,它恰好是 silverlight WCF 客户端生成的集合类型,那么您可以监听 ObservableCollection 引发的事件。

      这实际上是 Silverlight 知道是否重新渲染的方式。您可以独立于 UI 对集合进行操作,并且 UI 行为正常。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-21
        • 2010-10-20
        相关资源
        最近更新 更多