【问题标题】:WPF MVVM: View information in the modelWPF MVVM:查看模型中的信息
【发布时间】:2011-03-11 12:50:54
【问题描述】:

假设我在 WPF MVVM 应用程序中有可拖动的节点。我需要加载和保存节点的位置及其逻辑。最简单的方法是通过存储库将位置与逻辑一起保存在一个 xml 文件中。但是,这意味着我在模型和视图模型中都有视图信息。

有没有关于这种情况的最佳实践方法,也许我到目前为止还没有考虑过?

【问题讨论】:

  • 为什么节点可以拖动?您要存储哪些“位置”信息?将分层信息(级别、兄弟姐妹)存储在模型中并从中创建视图中的图形信息就足够了吗?
  • 节点及其连接表示图形数据操作过程。用户必须能够将流程可视化为 siutable(类似于 Visio)。我必须将 x/y 位置保存在画布中,因为我不创建位置和节点,而且层次结构很灵活。

标签: wpf design-patterns mvvm


【解决方案1】:

如果您的应用程序关心它向用户显示的 UI 元素的定位,那么我会说定义此定位的数据是模型中非常合法的部分。

不要将 UI 与模型和视图模型解耦的理想与实际业务需求相混淆。例如,在像 Visio 这样的应用程序中,您可以说对象在页面中的确切位置是“仅供查看的详细信息”,重要的是对象的属性以及它们之间的连接。但是,从用户的角度来看,对象在工作区中的放置非常重要。换句话说,它是您的数据模型的一部分。

【讨论】:

  • 太好了,谢谢,这加强了我在模型中保存这些数据的观点
猜你喜欢
  • 2011-01-29
  • 2014-08-29
  • 2011-01-11
  • 2017-09-20
  • 2011-05-07
  • 1970-01-01
  • 2010-11-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多