第一阶段 显示TreeView
效果图
之前看过很多博客, 都是呼哧贴一堆代码, 呼哧创建一个类, 呼哧创建一堆函数……当时任务很紧一下子看不懂也懒得看了(主要是缺图)…现在重新梳理一下还挺清晰的
例如数据是这样的
那么数据类可能是这样的
class Person
{
public int Id { get; set; }
public int Level { get; set; }
public string Name { get; set; }
public int ParentId { get; set; }
}
再套一层, 节点可能是这样的
class Node
{
public int Id { get; set; }
public int Level { get; set; }
public string Name { get; set; }
public int ParentId { get; set; }
public List<Node> Children { get; set; }
public string TreeDisplay {
get { return $"{Name} [第{Level}世]";}
}
// 怎么把节点添加到List<>里面忽略...
}
典型的一个树的结构. 要使用HierarchicalDataTemplate
, 属性需要有Id
和ParentId
, 不知道是模板本身的硬性规定还是可以手动设置的
<TreeView x:Name="treeView" Grid.Row="1">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Children}">
<StackPanel>
<TextBlock VerticalAlignment="Center" FontSize="14" Text="{Binding TreeDisplay}" Margin="2,0,0,0"/>
</StackPanel>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate