簡體   English   中英

在WPF中將自定義對象綁定到TreeView

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM