Как я могу отслеживать изменения в ItemsControl, используя Silverlight? - PullRequest
0 голосов
/ 05 февраля 2009

У меня есть ItemsControl, связанный с ObservableCollection. Когда наблюдаемая коллекция изменяется, у меня есть обработчик событий, который смотрит на потомков ItemsControl. К сожалению, ItemsControl еще не добавил новый элемент в то время (что понятно). Как я могу узнать, когда ItemsControl завершил добавление новых дочерних элементов управления?

Другими словами, если я использую ItemsControl для отображения списка текстовых полей, как я могу получить уведомление, когда на дисплей добавлен новый элемент управления TextBox?

Ответы [ 2 ]

0 голосов
/ 06 февраля 2009

Если вы связываете ObservableCollection с ItemsControl, который является типом коллекции, которую генерируют клиенты WCF silverlight, то вы можете прослушивать события, вызванные ObservableCollection.

Именно так Silverlight знает, нужно ли повторно визуализировать или нет. Вы можете работать с коллекцией независимо от пользовательского интерфейса, и пользовательский интерфейс ведет себя нормально.

0 голосов
/ 05 февраля 2009

Ну, я закончил копаться в элементе управления, чтобы найти ContentPresenter. Затем я подключился к событию LayoutUpdated, которое подсчитало детей, чтобы увидеть, изменилось ли оно.

Это своего рода странное решение, но оно работает.

...