2009-08-13 9 views
1

私は非常にフラットな構造のツリービューを持っています。メインビューとサブレベルのレベルは2レベルしかありません。私はWPF MVVMを使用していますが、2つのレベルのスタイルを違う方法で欲しいですが、どのように考えているのかわかりません。異なるレベルのWPFツリービューのスタイルを変更するにはどうすればよいですか?

私はViewViewをViewModelのObservableCollectionにバインドし、各要素は次のレベルのObservableCollectionをもう1つ持っています。

助けが必要ですか?

答えて

7

これは、DATABINDINGとDATATEMPLATESを使用して実行できます。

2つのDataTemplateを設計します。あなたのより低いレベルの標準的なバージョンとして階層のDataTemplateや他の(あなたが唯一の2つのレベルを利用するので、これがある)

はその後、正規のDataTemplateにごHierarchicalDataTemplateのItemTemplateにセットとして1

詳細はここで見つけることができます:上記サイトからhttp://msdn.microsoft.com/en-us/magazine/cc700358.aspx

コードスニペットは:

<!-- ORDER DETAIL TEMPLATE --> 
    <DataTemplate x:Key="OrderDetailTemplate"> 
     <TextBlock> 
     <Run>Product:</Run> 
     <TextBlock Text="{Binding Path=Product}" /> 
     <Run>(</Run> 
     <TextBlock Text="{Binding Path=Quantity}" /> 
     <Run>)</Run> 
     </TextBlock> 
    </DataTemplate> 

    <!-- ORDER TEMPLATE --> 
    <HierarchicalDataTemplate 
     x:Key="OrderTemplate" 
     ItemsSource="{Binding Path=OrderDetails}" 
     ItemTemplate="{StaticResource OrderDetailTemplate}" 
     > 
     <TextBlock Text="{Binding Path=Desc}" /> 
    </HierarchicalDataTemplate> 
+0

この答えは正確に同じ質問をしてから私を救いました。 – IbrarMumtaz

関連する問題