1
我想创建分层树。我跟着从here的每一步,但由于某种原因,它显示我只有一个深度。 这是我得到的: 可能是什么原因?为什么我的treeview只显示一个级别?
XAML
<TreeView SelectedItemChanged="TreeView_SelectedItemChanged" ItemsSource="{Binding Items}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Children}" DataType="{x:Type local:MyClass}">
<TextBlock Foreground="Red" Text="{Binding Name}" />
<HierarchicalDataTemplate.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" MouseLeftButtonUp="TreeViewItem_MouseLeftButtonUp"/>
</DataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
视图模型
public class MyClass
{
public string Name { get; set; }
public List<MyClass> Children { get; set; }
}
public class MyViewModel
{
private List<MyClass> _items;
public List<MyClass> Items
{
get
{
return _items;
}
}
public MyViewModel()
{
_items = new List<MyClass>();
_items.Add(new MyClass
{
Name = "1",
Children = new List<MyClass>
{
new MyClass
{
Name = "1_1",
Children = new List<MyClass>
{
new MyClass
{
Name = "1_1_1"
},
new MyClass
{
Name = "1_1_2"
}
}
},
new MyClass
{
Name = "1_2"
}
}
});
}
}
尝试删除零件'HierarchicalDataTemplate.ItemTemplate'并运行没有它的例子。 – Shakra
多么愚蠢的错误。谢谢。 – theateist