2016-06-14 44 views
1

私はクラス(ClassA)List of ClassBTypesList of ClassCの2種類のリストを持っています。 ClassBTypesには独自のList of ClassBがあります。私はツリービューWPF:TreeViewに異なるタイプのアイテムを複数レベルで追加

-- ClassAName 
-- -- ClassBType1Name 
-- -- -- ClassB1Name 
-- -- -- ClassB2Name  
-- -- ClassBType2Name 
-- -- -- ClassB1Name 
-- -- -- ClassB2Name 
-- -- ClassC1Name 
-- -- ClassC2Name 

については、以下の構造を実現したい

私は木がClassAClassBを描画するために得ることができたが、Tree resourcesClassCを追加する方法を見つけ出すことができませんでした。
以下のソースコードを確認してください。

Test.xaml.cs

public partial class Test : Window {  
    InitializeComponent(); 
    var a = new List<ClassA>{new ClassA(), new ClassA()}; 
    treeView.ItemsSource = a; 
} 

C#クラス:

public class ClassA{  
    // initiate obj  
    public string Name {get; set;}  
    public List<ClassBTypes> Btypes {get; set;}  
    public List<ClassC> C {get; set;}  
}  
public class ClassBTypes{  
    public string Name {get; set;}  
    public List<ClassB> B {get; set;} 
}  
public class ClassB{  
    public string Name {get; set;}  
}  
public class ClassC{ 
    public string Name {get; set;} 
} 

XAMLコード:ClassA OBJからClassC listを追加する方法

<Window.Resources> 
    <DataTemplate x:Key="aKey"> 
     <TextBlock Text="{Binding Name}"></TextBlock> 
    </DataTemplate> 
    <HierarchicalDataTemplate x:Key="bKey" 
       ItemsSource="{Binding B}" 
       ItemTemplate="{StaticResource aKey}"> 
     <TextBlock Text="{Binding Name}" /> 
    </HierarchicalDataTemplate> 
    <HierarchicalDataTemplate x:Key="bTypeKey" 
       ItemsSource="{Binding Btypes}" 
       ItemTemplate="{StaticResource bKey}"> 
     <TextBlock Text="{Binding Name}" /> 
    </HierarchicalDataTemplate> 
</Window.Resources> 
.....  
<Grid> 
    <TreeView Name="treeView" ItemTemplate="{StaticResource bTypeKey}" /> 
</Grid> 

、私が追加しましたコードの下に<Window.Resources>を追加しますが、どのようにしてtreeViewリソースに追加できますか?

<HierarchicalDataTemplate x:Key="bTypeKey" 
     ItemsSource="{Binding Btypes}" 
     ItemTemplate="{StaticResource bKey}"> 
    <TextBlock Text="{Binding Name}" /> 
</HierarchicalDataTemplate> 
+0

[WPF TreeView HierarchicalDataTemplate - 複数の子コレクションを持つオブジェクトへのバインディング]の可能な複製(http://stackoverflow.com/questions/1912481/wpf-treeview-hierarchicaldatatemplate-binding-to-object-with-multiple-child- co) – ASh

+0

@ASh私は2つの異なるタイプの子どもたちとツリーを構築する必要があるので – IBRA

答えて

関連する問題