我想顯示在WPF樹視圖的結構如下:綁定WPF的TreeView多個列表
public class Group{
public string Groupname;
public IEnumerable<Group> Groups;
public Ienumerable<User> Member;
}
我的視圖模型是這樣的:
public class ViewModel{
public Group RootGroup;
}
我覺得XAML代碼應該是這樣的:
<TreeView>
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource={Binding ViewModel.RootGroup}>
<TextBlock Text={Binding Groupname}/>
<HierarchicalDataTemplate ItemsSource={Binding Member}>
<TextBlock Text={Binding Displayname}/>
</HierarchicalDataTemplate>
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
我希望它是什麼樣子:
RootGroup-Name
-Member1
-Member2
-Member3
-Member4
-SubGroup1
-Member1
-Sub-SubGroup1
-Member1
-SubGroup2
-Sub-SubGroup2
-Sub-Sub-SubGroup1
-Member1
我已經將DataContext綁定到自身,所以這不應該是我的TreeView不顯示任何內容的原因。
由於在訪問「名稱」之前設置了ItemsSource,因此屬性「節點」中的「名稱」的範圍不是?那麼我如何才能顯示RootGroup的名稱?我其實沒有得到你的榜樣,對不起。爲了澄清,一個組可能同時包含成員和組。 – C4p741nZ
'Nodes'是'GItemViewModel'的集合,所以每個節點都包含'Name'。我認爲很難將成員和團體聯合在一個節點中。我更新了根節點行爲的答案。還刪除了'Nodes'的私人設置。 – bars222
編輯錯誤,綁定應該看起來像'treeView.ItemsSource = vm.Nodes;' – bars222