我的模型看起来像这样:
// 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的引用?
希望足够清楚。
答案 0 :(得分:1)
您可能需要查看Catel。它允许您基于模型延迟加载视图模型。这样,您可以创建无限的视图模型链,而无需先指定它们。
因此,当视图检测到特定模型时,它会自动将其转换为视图模型,您可以继续使用。有关更多信息,请阅读有关nested user controls problem。
的文档免责声明:我是Catel的开发者之一