2
我想將IList綁定到分層顯示中的WPF TreeView。這是我的對象:WPF-XAML樹視圖到Generic.List綁定
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;
}
}
我不知道一個特定對象會有多少個孩子,孩子也可能有孩子。
我大驚小怪周圍與我HierarchialDataTemplate,但沒有取得成功:
<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>
有什麼建議?
您應該只有一個HierarchicalDataTemplate,因爲所有節點都是TeamsTreeViewItem,否則WPF將如何知道使用哪一個?您還需要將ItemsSource綁定到Children集合:ItemsSource =「{Binding Path = Children}」 – markmnl 2010-12-16 03:25:32