2016-07-21 38 views
0

私はCustomControlを持っています:ItemsControlは、デフォルトで最初の項目のみを表示する必要があります(ItemTemplateには<Grid><TextBlock/><TextBlock/></Grid>が含まれています)。WPF ItemsControlの最初の要素をExpanderヘッダーとして

エキスパンダーを使用しているとき(拡張されていない)、ヘッダーのみを表示できます。展開すると、すべての項目が表示されます。 しかし、実際には最初の項目をExpanderヘッダーとして表示したい場合は、展開すると、その項目の他のすべての項目をヘッダーの下に表示する必要があります。

誰にでも解決策がありますか?

+1

あなたはComboBoxの使用を検討しましたか? – Funk

答えて

0

私が正しく理解している場合、あなたは私は以下のようなものを持って自分のアプリケーションの一つで拡張可能な行 をしたい: enter image description here

最初の行には、いくつかの詳細を持っており、エクスパンダのリストをクリックすることで満たされています。

<DataGrid.RowHeaderTemplate> 
         <DataTemplate> 
          <telerik:RadExpander x:Name="AddressExpander" telerik:AnimationManager.IsAnimationEnabled="True" Expanded="Address_Expander_Expanded" Collapsed="Address_Expander_Collapsed"> 
          </telerik:RadExpander> 
         </DataTemplate> 
        </DataGrid.RowHeaderTemplate> 

コードの背後にある:

に このビューを構築するために、私はパンダに設定RowHeaderTemplateを持っているデータグリッドを使用しました3210

そしてRowDetailsTemplateのために、私は非常に少数のタグには、このような何か別のDataGridのテンプレートを持っている:

<DataGrid.RowDetailsTemplate> 
         <DataTemplate> 
<DataGrid Itemsource = {Binding *property of parent viewmodel here*} /> 
    </DataTemplate> 
        </DataGrid.RowDetailsTemplate> 

結果は画像にある - >詳細aに示すことができる拡張可能な行を、他のオブジェクトのリストもちろん、ListViewやItemsControlなど、他のものを使用することもできます。 しかし、それはあなたが見てみるべきモデルだと思います。

関連する問題