WPF - XAML 与嵌套 类 绑定

WPF - XAML binding with nested classes

我有以下 class 结构。

 class A
 {
     List<B> B = new List<B>();
 }

 class B
 {
     List<C> C = new List<C>();
 }
 class C
 {
 }

我正在遵循 MVVM 模式。在我的视图模型中,我有一个从 class 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)

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

首先,您必须为其创建属性:

 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 对象。