WPF - 与嵌套类绑定的XAML

时间:2015-04-02 06:32:55

标签: wpf xaml binding

我有以下类结构。

 
 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)

这可能吗?如果是,有人可以帮助我将它绑定到视图吗? 实际上,改变班级结构是不可能的。不幸的是,以这种方式拥有它是必须的。

1 个答案:

答案 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物体。