如何使用Silverlight监视ItemsControl中的更改?

时间:2009-02-05 14:49:27

标签: silverlight itemscontrol

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

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

2 个答案:

答案 0 :(得分:0)

好吧,我最终深入挖掘控件以找到ContentPresenter。然后我附加到LayoutUpdated事件,该事件计算子项以查看它是否发生了变化。

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

答案 1 :(得分:0)

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

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