1

我有一个看起来像这样的模型:

// Subclass 1
class A
  {
      public B PropB { get; set; }  
  }

// Subclass 2
class B
  {
      public List<A> PropA { get; set; }
  }

// And finally Model
class Model
  {
      public List<A> PropA { get; set; }
      public List<B> PropB { get; set; }
  }

Model 类中的列表 A 和 B 相互引用了一些元素。

在这种情况下,正确的 ViewModel 应该是什么样子?

如果没有交叉引用,那将只是 2 个 ObservableCollections 的子 ViewModel,但我无法使用引用来管理这种情况。每个子 ViewModel 是否应该包含对其他子 ViewModel 的引用?

希望这足够清楚。

4

1 回答 1

1

您可能想看看Catel。它允许您基于模型延迟加载视图模型。这样,您可以创建无尽的视图模型链,而无需先指定它们。

因此,当视图检测到特定模型时,它会自动将其转换为视图模型,您就可以开始了。有关更多信息,请阅读有关嵌套用户控件问题的文档。

免责声明:我是 Catel 的开发者之一

于 2012-09-05T18:18:26.197 回答