WPF中的主细节绑定

WPF中的主细节绑定,wpf,data-binding,Wpf,Data Binding,为什么我看不到这个例子中的细节呢。我无法更改dataclass、master类和detail类的结构。所以我必须用正确的绑定来解决这个问题 public class ViewModel { public dataclass data { get; set; } public ViewModel() { data = new dataclass(); master a_master = new master(); a_mas

为什么我看不到这个例子中的细节呢。我无法更改dataclass、master类和detail类的结构。所以我必须用正确的绑定来解决这个问题

public class ViewModel
{
    public dataclass data { get; set; }

    public ViewModel()
    {
        data = new dataclass();
        master a_master = new master();
        a_master.mastername = "hello";
        detail a_detail = new detail();
        a_detail.detailname = "goodbye";
        data.details.Add(a_detail);
        data.Add(a_master);
    }
}


public class dataclass : ObservableCollection<master>
{
   public ObservableCollection<detail> details { get; set; }

    public dataclass()
    {
        details = new ObservableCollection<detail>();
    }
}


public class master
{
    public string mastername { get; set; }


}


public class detail
{
    public string detailname { get; set; }
}
在我的XAML中,我是这样绑定的:

试一试

而不是

<ItemsSource="{Binding Path=data/details}">
我认为您试图实现的是一种主/细节场景,它绑定到分层数据,如中所述。事实上,只要您有一个ObservaleCollection作为从ObservaleCollection派生的类的属性,这就不是分层的,因此绑定表达式中的/将不起作用。有关/的详细信息,请参阅“源遍历绑定到集合层次结构”一节


在C语言中也有广泛接受的约定,即对于公共类型(如此处的类和属性),您应该使用Pascal大小写。

您需要先接受一些答案。当然,我可以更改这一点。我只是想知道我在绑定中的错误。在我的实际应用程序中,主类和详细类都是实体框架类。如果不是嵌套的可观察对象,您将在什么情况下加载ListView绑定到的数据?在分层数据中,详细信息集合将是class master的一部分。有关链接,请参见编辑后的答案。
<ItemsSource="{Binding Path=data.details}">
<ItemsSource="{Binding Path=data/details}">