我们在TreeView中有一个项目列表,用户可以在其中选择他们想要的项目。每一项都可以与另一项相关联。我的ItemEditor视图上有一个按钮,用于打开一个新窗口,其中关联的项处于只读模式。该项目的只读副本没有保存功能,也不提供以前用户所做的任何编辑。然而,它确实分享了大约50个领域中的90%。
我是否要承担几乎复制整个视图并创建纯ReadOnlyItemViewModel的风险?或者在我的视图模型中设置标志来显示哪些可编辑的项目是隐藏的,这通常更容易接受吗?
发布于 2011-06-10 01:43:36
您可以将多个视图映射到同一视图模型。这实际上是被鼓励的。你不需要在ItemViewModel上创建一个视图ReadOnlyItemViewModel...just。如果您正在尝试自动生成视图,则将生成只读视图还是完全可编辑视图作为生成器的策略。如果您需要更细粒度的控制,可以考虑添加一些属性来表示字段应该如何在只读模式和可编辑模式下显示。只有在探索了所有这些方法之后,才应该考虑将VM一分为二。
https://stackoverflow.com/questions/6295021
复制相似问题