私は2つのクラスを持っています
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 はメイン ノードで、2 つの別のノード (b、a) があります。ノード a には、2 つのノード (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 で double treeItem を作成したいのですが、機能しません :( Ant アルゴリズムのプロジェクトを助けてください。教室で最高の GUI を実行したいです。