[英]Bind custom object to TreeView in WPF
我有一個下面定義的類的對象
class XYZ
{
List<XYZ> child;
String header;
}
我想將此對象綁定到樹視圖。 最初,XYZ根將是最頂層的TreeViewItem。 root將具有List子級作為子TreeViewItems。 這將以遞歸方式繼續,直到每個XYZ對象的List不為空。 每個TreeViewItem都是節點或葉子(如果List子項為空)。
我可以通過將TreeViewItem作為子項添加到父TreeViewItem來以編程方式執行此操作。
級別的數量是未知的。
我將這個答案Bind Object引用到了WPF TreeView,但是這里提到的是三級層次結構。
您只需要為viewmodel定義Hierarchical Datatemplate,它應該處理樹視圖中的多個級別。
確保您使用的集合實現了INotificationPropertyChanged
數據模板將在行中
<TreeView ItemsSource={Binding child}>
<TreeView.Resources>
<HierarchicalDataTemplate ItemsSource="{Binding child}" DataType="{x:Type vm:XYZ}">
<Grid>
<TextBlock Text="{Binding header}"/>
</Grid>
</HierarchicalDataTemplate>
</TreeView.Resources>
</TreeView>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.