C# HierarchycalDataTemplate没有';不显示没有子项的项目
在上一篇文章中,我想知道如何为C# HierarchycalDataTemplate没有';不显示没有子项的项目,c#,wpf,treeview,hierarchicaldatatemplate,C#,Wpf,Treeview,Hierarchicaldatatemplate,在上一篇文章中,我想知道如何为TreeView设置hierarchycaldatatemplate。这很好用。我现在的问题是: 班级classstudiors看起来像: public class ClassPupils { public ClassPupils(Class @class) { this.Class = @class; this.Pupils = new List<Pupil>(); } public Class Cl
TreeView
设置hierarchycaldatatemplate
。这很好用。我现在的问题是:
班级classstudiors
看起来像:
public class ClassPupils
{
public ClassPupils(Class @class)
{
this.Class = @class;
this.Pupils = new List<Pupil>();
}
public Class Class { get; set; }
public List<Pupil> Pupils { get; set; }
}
公共班级学生
{
公立班学生(班级@班级)
{
this.Class=@Class;
this.studios=新列表();
}
公共类{get;set;}
公共列表{get;set;}
}
在我的ViewModel中,我有一个可观察集合
,树视图绑定到该集合
如果
类瞳孔
在瞳孔集合中没有瞳孔,则不显示该项目。我不明白为什么?我还需要显示学生集合中没有学生的班级学生。您的数据模型不正确。我们在代码中的数据模型通常不完全遵循我们的数据库结构,尤其是当数据是分层的。。。请记住,我们的表是标准化的,而在代码中这样做没有任何好处。因此,您的数据库表可能在子表中具有类的外键Id,但在业务模型中,这通常被实现为具有子类集合的父类。因此,在您的情况下,您的父类应该更像这样:
public class SchoolClass
{
public SchoolClass(List<Pupil> pupils)
{
this.Pupils = pupils;
}
public List<Pupil> Pupils { get; set; }
...
}
公共课堂
{
公立学校班级(列出学生名单)
{
这个。学生=学生;
}
公共列表{get;set;}
...
}
不需要在代码中定义“弱实体”或“连接表”。您以前的问题是,您的家长
学校班级班级没有学生的集合,现在有了,请再次尝试Hierarchy datatemplate
。发布您的数据模板和树xaml。这意味着学生班级不知道自己的班级。但是这个班有一群学生吗?不,这意味着在代码中,没有所谓的PupilClass
。。。这只存在于数据库模型中。