2017-09-03 55 views
0

我想將一個字符串列表綁定到一個TreeViewItem,但由於某種原因沒有顯示數據,也沒有任何錯誤。使用列表中的ItemSource創建TreeViewItem子項<string>

在XAML中我在我的TreeViewItem中有以下內容。

<TreeView Name="treeContainer"> 
      <TreeViewItem Header="Tables" Name="treeTablesContainer"> 
       <ItemsControl.ItemContainerStyle> 
        <Style TargetType="{x:Type TreeViewItem}" /> 
       </ItemsControl.ItemContainerStyle> 
       <ItemsControl.ItemTemplate> 
        <HierarchicalDataTemplate 
         DataType="{x:Type system:String}"> 
         <TextBlock Text="{Binding dbTables}" /> 
        </HierarchicalDataTemplate> 
       </ItemsControl.ItemTemplate> 
      </TreeViewItem> 
     </TreeView> 

在CS代碼中,我有以下幾點:

dbTables = new List<string>(); 
      dbTables.Add("Tabl2"); 
      treeTablesContainer.ItemsSource = dbTables; 

的樹型視圖可以展開和摺疊,但是,有沒有孩子拜因表示,我不能看到如何得到這個工作。

我在項目的另一部分做了類似的事情,除了不同的列表類型我自己的類與屬性,我可以在行<TextBlock Text="{Binding dbTables}" />引用,但我認爲這是行不通的,因爲List<string>類型,所以我沒有財產訪問,是我的想法是正確的,如果是這樣,我該如何解決這個問題。

回答

0

分層數據模板是數據源中每個項目的數據模板。這意味着在你的示例綁定文本塊搜索DBTables字符串類。你的XAML代碼看起來應該像

<TreeView Name="treeContainer"> 
     <TreeViewItem Header="Tables" Name="treeTablesContainer"> 
      <ItemsControl.ItemContainerStyle> 
       <Style TargetType="{x:Type TreeViewItem}" /> 
      </ItemsControl.ItemContainerStyle> 
      <ItemsControl.ItemTemplate> 
       <HierarchicalDataTemplate> 
        <TextBlock Text="{Binding}" /> 
       </HierarchicalDataTemplate> 
      </ItemsControl.ItemTemplate> 
     </TreeViewItem> 
    </TreeView> 
+0

所有我試過的東西在其不具約束力的任何屬性命名dbTables結合dbTables,爲什麼我沒有想到的只是刪除綁定參數。謝謝 – Boardy

1
<TreeView Name="treeContainer"> 
      <TreeViewItem Header="Tables" Name="treeTablesContainer"> 
       <ItemsControl.ItemContainerStyle> 
        <Style TargetType="{x:Type TreeViewItem}" /> 
       </ItemsControl.ItemContainerStyle> 
       <ItemsControl.ItemTemplate> 
        <HierarchicalDataTemplate> 
         <TextBlock Text="{Binding }" /> 
        </HierarchicalDataTemplate> 
       </ItemsControl.ItemTemplate> 
      </TreeViewItem> 
     </TreeView> 

只是刪除作爲您的收藏