如何为复杂模型创建正确的ViewModel

时间:2012-08-22 09:15:26

标签: wpf mvvm

我的模型看起来像这样:

// 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; }
  }

模型类中的列表A和B引用了彼此的某些元素。

在这种情况下,正确的ViewModel应该如何?

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

希望足够清楚。

1 个答案:

答案 0 :(得分:1)

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

因此,当视图检测到特定模型时,它会自动将其转换为视图模型,您可以继续使用。有关更多信息,请阅读有关nested user controls problem

的文档

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