Как отслеживать изменения в ItemsControl с помощью Silverlight?

StackOverflow https://stackoverflow.com/questions/516203

  •  21-08-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top