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

如何使用Silverlight监视ItemsControl中的更改?,silverlight,itemscontrol,Silverlight,Itemscontrol,我有一个ItemsControl绑定到ObservableCollection。当可观察集合发生更改时,我有一个事件处理程序来查看ItemsControl的子级。不幸的是,ItemsControl当时还没有添加新项(这是可以理解的)。如何知道ItemsControl何时完成添加新的子控件 换句话说,如果我使用ItemsControl来显示文本框列表,那么当新的文本框控件添加到显示中时,如何通知我?好吧,我最终挖掘了该控件以找到ContentPresenter。然后我附加到LayoutUpdate

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


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

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


这是一种奇怪的解决方案,但它可以工作。

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

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