我有以下类结构。
class A
{
List<B> B = new List<B>();
}
class B
{
List<C> C = new List<C>();
}
class C
{
}
我遵循MVVM模式。我在视图模型中有一个从A类对象创建的Observable集合。 我需要将它绑定到我的视图(WPF),如下所示。
Header 1 ( class A) * Item 1 ( class C)
* Item 2 (class C)
* Item 3 ( class C)
* Item 1 ( class C)
Header 2 (class A) * Item 1 ( class C)
* Item 2 (class C)
* Item 3 (class C)
* Item 4 ( class C)
这可能吗?如果是,有人可以帮助我将它绑定到视图吗? 实际上,改变班级结构是不可能的。不幸的是,以这种方式拥有它是必须的。
答案 0 :(得分:0)
首先,你必须制作它的属性:
public class A
{
List<B> B = new List<B>() { get; set; }
}
public class B
{
List<C> C = new List<C>() { get; set; }
}
public class C
{
}
之后,您可以在视图中创建ItemsControl
,以生成您希望为每个C
查看的视图。有关ItemsControl的更多信息,我转发到MSDN(我不打算创建整个应用程序:https://msdn.microsoft.com/en-us/library/system.windows.controls.itemscontrol%28v=vs.110%29.aspx
在你的情况下,你需要两个物品控制,一个用于你的B物体,一个用于你的C物体。