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

标签 wpf mvvm datatemplate

我正在使用 DataTemplate 将 View 应用于 ViewModel。我有一种情况,当 View 的一个实例(DataTemplate)中发生某件事时,我需要在所有其他实例中采取行动。

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

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

最佳答案

您可以直接在 ViewModel 中对这种交互进行建模吗?也许在数据绑定(bind)的项目上具有属性或事件?这样,您的 View 只需决定事件的行为/呈现。

关于wpf - 如何跟踪 DataTemplate 的所有实例或 DataTemplate 中的控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3483371/

相关文章:

wpf - 将您的 View 绑定(bind)到模型的属性而不是 ViewModel 有什么不好?

android - 解决未决数据更改的理想方法(何时保存更改)?

c# - 使用ViewModel类中的MVVM的WPF关闭窗口

xaml - 对于 longlistselector 项目 (WP8),DataTemplate 中突然无效的 XAML

wpf - WPF 中是否有类似于 DataTemplate 的 Style.BasedOn 的东西?

c# - 在 C# 代码中构建 Silverlight DataTemplate

c# - 鼠标悬停时出现弹出窗口

c# - 使用 MVVM 和 Prism 了解 Unity 和依赖注入(inject)

c# - 异步事件监听器的 Moq Raise

c# - MVVM和序列化-如何访问类的实例? [复制]