2010-08-14 5 views
1

Я использую DataTemplate для применения представления к ViewModel. У меня есть случай, когда в одном экземпляре View (DataTemplate) происходит определенная вещь, мне нужно принять действие во всех других случаях.Как отслеживать все экземпляры DataTemplate или элемента управления в DataTemplate?

Я уже делаю это, реализуя инициализированное событие на одном из элементов управления в DataTemplate и используя это событие, чтобы добавить ссылку на элемент управления в список в коде. Это работает, поскольку для DataTemplate (в словаре ресурсов) есть только один код для кодов, все они могут получить доступ к одному списку.

Я немного волнуюсь, так как экземпляры DataTemplate создаются и уничтожаются. Разве я не оставляю лишние ссылки на старые экземпляры DataTemplate, которые больше не нужны? Есть ли способ очистить их? Есть ли соответствующее событие ... напротив Инициализировано ... когда элемент управления или DataTemplate исчез?

ответ

0

Можно ли моделировать это взаимодействие непосредственно в ViewModel? Возможно, с собственностью или событием, когда элемент (ы) привязан к данным? Таким образом, ваше мнение должно только определять поведение/презентацию события.

+0

Я тоже думал об этом, но тогда я просто подталкиваю ту же проблему к ViewModel. Затем я должен отслеживать все экземпляры ViewModel, что является одним и тем же. Но я согласен, что это может быть чище. –

Смежные вопросы