【发布时间】:2023-03-11 11:35:01
【问题描述】:
我有一个用户控件,它是一个带标签的组合框,通过调试我注意到每次打开包含用户控件的视图时,对每个模型属性的获取请求都比上次多一个!
每次打开视图时我都会重新实例化模型(出于不需要提及的原因),但似乎正在发生的事情是保留与模型的任何先前副本的绑定并且模型似乎没有被正确处理,因为它仍然通过这个绑定绑定到程序中!我很欣赏可以维持对依赖属性的多个绑定,但是我该如何阻止这种情况发生呢?
我想到的两个考虑:
1) 当视图关闭时,用户控件没有被处理掉,如果可能的话,我应该把注意力转向确保它被处理掉吗?或者这对 WPF 的需求是否过大?
2) 我应该在模型基类中实现一个复制函数,而不是在每次打开视图时重新实例化模型,该函数将所有属性转移到与实际创建模型的另一个实例相反的位置上?
你怎么看?
谢谢
【问题讨论】:
标签: c# wpf binding user-controls dependency-properties