【发布时间】:2018-09-20 15:00:09
【问题描述】:
我有一个 WPF 应用程序,其主窗口包含两个面板。布局很标准。左侧面板是对象列表。右侧面板显示有关左侧面板中所选对象的信息。
现在我将左侧面板直接放在窗口的 XAML 中,尽管我认为它应该是它自己的 UC/View。右侧面板编码为 UC。主窗口的 ViewModel 有一个字段,即右侧面板的 VM(称为属性 VM)。属性 VM 封装了模型中所选对象的数据。
当在左侧面板中选择不同的对象时,我会看到两个选项: 1)实例化属性VM的新实例并从模型中加载相应的数据 2) 将模型中的相应数据加载到已有的属性VM中,并发出相应的变更通知【我当前的实现】
上述两个选项之间是否有优势或首选方式?我错过了更好的第三种选择吗? * 编辑 * 也许更好的问题是——这两种方法的优缺点是什么?
谢谢!
【问题讨论】: