如何跟踪DataTemplate的所有实例或DataTemplate中的控件?

时间:2010-08-14 12:55:01

标签: wpf mvvm datatemplate

我正在使用DataTemplate将View应用于ViewModel。我有一个案例,当某个事件发生在View(DataTemplate)的一个实例中时,我需要在所有其他实例中执行操作。

我已经通过在DataTemplate中的一个控件上实现Initialized事件并使用该事件将控件的引用添加到代码隐藏中的列表来实现此目的。这是有效的,因为DataTemplate只有一个代码隐藏(在资源字典中),它们都可以访问相同的列表。

我有点担心,因为DataTemplate的实例被创建和销毁。我是否不再对不再需要的旧版DataTemplate实例进行额外的引用?有什么方法可以清理它们吗?是否存在相应的事件......与Initialized相反...当控件或DataTemplate消失时?

1 个答案:

答案 0 :(得分:0)

您是否可以直接在ViewModel中对此交互进行建模?也许项目的属性或事件是数据绑定的?这样,您的视图只需要决定事件的行为/表示。