【发布时间】:2010-08-11 22:15:27
【问题描述】:
我目前正在设计简单的编辑器作为学习过程的一部分。它基本上是多边形-线-点的层次树结构,在数据模型中实现。我需要在两个视图中显示这些数据
第一个视图:树视图项中的分层数据 第二个视图:在屏幕上渲染几何体
按照 MVVM 模式,我围绕数据模型(点模型视图、线模型视图等)实现了模型视图类。在树视图中,我使用分层数据模板来正确显示特定数据。在第二个视图中,我需要渲染几何的当前状态,目前它只是一个围绕多边形数据类的模型视图包装器,它遍历所有子节点并在 onRender 方法中渲染它们。在这种情况下,我在同一数据上使用多个视图模型,目的完全不同。
我在树视图模型中进行一些修改(例如添加点)时出现问题,导致底层数据模型发生变化。但是第二个视图模型不直接观察模型视图中的数据,只有当我通过它的模型视图类进行修改时,它才会更新渲染视图。是否有一些优雅的解决方案可以同时更新两个视图模型?
【问题讨论】: