如何监控使用Silverlight一个ItemsControl的变化?
-
21-08-2019 - |
题
我有绑定到一个ObservableCollection一个ItemsControl。当观察集合的变化,我有一个事件处理程序,着眼于ItemsControl中的孩子。不幸的是,ItemsControl的还未在那个时候(这是可以理解的),增加了一个新的项目。我怎么能知道什么时候一个ItemsControl完成增加新的子控件?
换句话说,如果使用一个ItemsControl显示文本框的列表,如何可以在一个新的TextBox控件已被添加到显示通知我?
解决方案
好了,我最终挖掘到控制找到ContentPresenter。然后我附接到LayoutUpdated事件,该事件计数的孩子,看它是否改变了。
这是一种离奇的解决方案,但它的工作原理。
其他提示
如果你一个ObservableCollection绑定到ItemsControl的,这恰好是Silverlight的WCF客户端生成的,那么你就可以听由的ObservableCollection引发的事件集合的类型。
这实际上是如何的Silverlight知道是否重新渲染器或没有。可以在收集独立UI的操作,并且UI行为正常。
不隶属于 StackOverflow