0

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

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

4

2 回答 2

0

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

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

于 2009-02-05T15:30:32.710 回答
0

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

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

于 2009-02-05T23:53:57.920 回答