2016-04-11 6 views
0

私は完全にwpfを新しくしました。私はネストされたdatatemplatelike this layoutdatatemplateが別のdatatemplateの中にあります)を作成しようとします。私はデータテンプレートを作成して"Object A"に接続し、ObservableCollectionで本当にうまくいきました。今度は、それぞれObject AObservableCollectionをネストして、Object BObject Cを列に表示する必要があります。しかし、私はそれをどうやって行うのか本当に分かりませんし、例も見つけられません。ネストされたデータテンプレート(データテンプレートのデータテンプレート)を使用してwpfテンプレートを作成する方法

多分誰でも私にヒントを与えることができますか?

おかげに関して、あなたがObject Aのコレクションを表示するためにListViewListBoxを使用していると仮定すると、 マレーネ

答えて

0

ObjectACollectionそれを呼び出すことができます)、およびObject Aは(この例では)名前付きプロパティObjectBCollectionObjectCCollectionを持っています次のようなことができます:

<UserControl xmlns:namespaceA="clr-namespace:MyProj.Models.ObjectANamespace" 
      xmlns:namespaceB="clr-namespace:MyProj.Models.ObjectBNamespace" 
      xmlns:namespaceC="clr-namespace:MyProj.Models.ObjectCNamespace" > 
    <ListBox ItemsSource="{Binding ObjectACollection}"> 
     <ListBox.ItemTemplate> 
      <DataTemplate DataType="namespaceA:ObjectA"> 
       <StackPanel Orientation="Horizontal"> 
        <ListBox ItemsSource="{Binding ObjectBCollection}"> 
         <ListBox.ItemTemplate> 
          <DataTemplate DataType="namespaceB:ObjectB"> 
           <TextBlock Text="{Binding ObjectBProperty}"/> 
          </DataTemplate> 
         </ListBox.ItemTemplate> 
        </ListBox> 
        <ListBox ItemsSource="{Binding ObjectCCollection}"> 
         <ListBox.ItemTemplate> 
          <DataTemplate DataType="namespaceC:ObjectC"> 
           <TextBlock Text="{Binding ObjectCProperty}"/> 
          </DataTemplate> 
         </ListBox.ItemTemplate> 
        </ListBox> 
       </StackPanel> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 
</UserControl> 
関連する問題