Ich versuche, eine IList zu einem WPF-TreeView in einer hierarchischen Anzeige zu binden. Hier ist meine Aufgabe:WPF - XAML Treeview zu Generic.List Bindung
public class TeamsTreeViewItem
{
public string DisplayValue { get; set; }
public string KeyValue { get; set; }
readonly List<TeamsTreeViewItem> children = new List<TeamsTreeViewItem>();
public IList<TeamsTreeViewItem> Children
{
get
{
return children;
}
}
public override string ToString()
{
return DisplayValue;
}
}
Ich weiß nicht, wie viele Kinder eine besondere Aufgabe haben wird, und die Kinder könnten Kinder haben.
Ich Getue mit meinem HierarchialDataTemplate herum, aber nicht erfolgreich zu sein:
<TreeView Canvas.Left="263" Canvas.Top="12" Height="200" Name="TeamTreeView" Width="120">
<TreeView.Resources>
<HierarchicalDataTemplate DataType="{x:Type local:TeamsTreeViewItem}" ItemsSource="{Binding DisplayValue}" >
<TextBlock Text="{Binding DisplayValue}"/>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type local:TeamsTreeViewItem}" ItemsSource="{Binding Children}" >
<TextBlock Text="{Binding DisplayValue}"/>
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
Irgendwelche Vorschläge?
Sie sollten nur ein HierarchicalDataTemplate haben, da alle Ihre Knoten ein TeamStreeViewItem sind. Wie weiß WPF dann, welches verwendet wird? Außerdem müssen Sie ItemsSource an die Children-Auflistung binden: ItemsSource = "{Binding Path = Children}" – markmnl