我有一个绑定到ObservableCollection的ItemsControl。当可观察集合发生变化时,我有一个事件处理程序来查看ItemsControl的子节点。不幸的是,ItemsControl当时还没有添加新项目(这是可以理解的)。如何知道ItemsControl何时添加了新的子控件?
换句话说,如果我使用ItemsControl来显示文本框列表,那么在将新的TextBox控件添加到显示器时如何通知我?
答案 0 :(得分:0)
好吧,我最终深入挖掘控件以找到ContentPresenter。然后我附加到LayoutUpdated事件,该事件计算子项以查看它是否发生了变化。
这是一种奇怪的解决方案,但它确实有效。
答案 1 :(得分:0)
如果将ObservableCollection绑定到ItemsControl,而ItemsControl恰好是silverlight WCF客户端生成的集合类型,那么您可以监听ObservableCollection引发的事件。
这实际上是Silverlight如何知道是否重新渲染。您可以独立于UI操作集合,并且UI行为正常。