C# WPF树状视图复杂的层次结构
在我的代码隐藏中,我有一个可观察的集合,比如ObservableCollection。 我正在尝试创建一个数据模板,以便在树视图中完全按照模型中的定义查看这些数据C# WPF树状视图复杂的层次结构,c#,wpf,mvvm,treeview,datatemplate,C#,Wpf,Mvvm,Treeview,Datatemplate,在我的代码隐藏中,我有一个可观察的集合,比如ObservableCollection。 我正在尝试创建一个数据模板,以便在树视图中完全按照模型中的定义查看这些数据 public class MainItem { public string MainItemName { get; set; } public List<CategoryDetail> GoodCategories { get; set; } public List<CategoryDetai
public class MainItem
{
public string MainItemName { get; set; }
public List<CategoryDetail> GoodCategories { get; set; }
public List<CategoryDetail> BadCategories { get; set; }
public List<SubItem> AllSubItems{ get; set; }
}
public class CategoryDetail
{
public string CatId { get; set; }
public string CatName { get; set; }
public List<SubItem> CatSubItems { get; set; }
public List<CategoryDetail> CatSubCategories { get; set; }
}
public class SubItem
{
public int SubItemId { get; set; }
public string SubItemName { get; set; }
}
public类主项
{
公共字符串MainItemName{get;set;}
公共列表类别{get;set;}
公共列表{get;set;}
公共列表所有子项{get;set;}
}
公共类类别详细信息
{
公共字符串CatId{get;set;}
公共字符串CatName{get;set;}
公共列表CatSubItems{get;set;}
公共列表CatSubCategories{get;set;}
}
公共类子项
{
public int SubItemId{get;set;}
公共字符串子项名称{get;set;}
}
如上图所示,我只取得了部分成功。我迄今为止所取得的进步
<TreeView Grid.Row="0" ItemsSource="{Binding}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding CatSubCategories}">
<TextBlock Foreground="Red" Text="{Binding MainItemName}" />
<HierarchicalDataTemplate.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding CatSubItems}" ItemTemplate="{StaticResource IdAndNameInAGridTemplate}">
<TextBlock Text="{Binding CatName}" />
</HierarchicalDataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
我到底做错了什么?MainItem应该只有一组类别。类别具有项目的集合。从您预期的树布局来看似乎很明显。不知道你为什么会有问题。映射和设计的简单关系。一个主数据对象有3个不同的其他数据对象集合(也可以嵌套)。我正在寻找这方面的指导。