我有两节课
public class leaf
{
public string name { get; set; }
}
和
public class node
{
public ObservableCollection<node> nodeList = new ObservableCollection<node>();
public ObservableCollection<leaf> leafList = new ObservableCollection<leaf>();
public ObservableCollection<node> prop_nodeList { get { return nodeList; } set { nodeList = value; } }
public ObservableCollection<leaf> prop_leafList { get { return leafList; } set { leafList = value; } }
public string name { get; set; }
}
正如你可以看到它的工作就像道路或树木。节点可以拥有另一个节点和叶子的信息。
我想在像这样格式化的用户控制树中显示
nethead 是一个主节点,它有两个另外的节点(b,a)。节点 a 有两个节点(b,c)和 2 个叶子(a1,a2)。但我不使用 mvvm。当我用 mvvm 做它时,它看起来像
从 C# 我只做
this.DataContext = mainNode; // its node which hold everething (its named netHead)
从 xaml 它
<Grid>
<TreeView ItemsSource="{Binding prop_nodeList}">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type local:node}" ItemsSource="{Binding prop_nodeList}">
<TextBlock Text="{Binding Path=name}"/>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type local:leaf}" ItemsSource="{Binding prop_leafList}">
<TextBlock Text="{Binding Path=name}"/>
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
</Grid>
你明白我想做什么了吗?我想在 TreeView 中制作双 treeItem,但它不起作用 :( 请帮忙,它是 Ant 算法的项目,我想在教室里做最好的 gui