有效地重用视图

时间:2011-06-09 15:06:23

标签: wpf mvvm

我们在TreeView中有一个项目列表,用户可以在其中选择所需的项目。每个项目都可以与另一个项目相关联。我的ItemEditor视图上有一个按钮,打开一个新窗口,其中关联项目处于只读模式。该项目的只读副本没有保存功能,也没有提供以前用户所做的任何编辑。然而,它确实共享了90%的字段,大约50个。

我是否会在几乎复制整个视图时创建一个纯粹的ReadOnlyItemViewModel?或者,在我的视图模型中设置标志以显示隐藏哪些可编辑项目通常更为可接受?

1 个答案:

答案 0 :(得分:1)

您可以将多个视图映射到同一个视图模型。它实际上是鼓励的。您不必创建ReadOnlyItemViewModel ...只需在ItemViewModel上创建一个View。如果您尝试自动生成视图,请确定它是生成只读还是完全可编辑视图的生成器策略。如果需要更精细的颗粒控制,请考虑添加表示如何以只读模式和可编辑模式显示字段的属性。只有在您探索了所有这些途径之后,才应考虑将VM分成两部分。