グループ化された CollectionViewSource を ListView のソースとして使用する場合、ListView.GridView の各グループ内で列ヘッダーを繰り返す方法はありますか?
Expander コントロールを使用して各グループを表示するhttp://msdn.microsoft.com/en-us/library/ms754027.aspxの例を使用しています。
ListView の上部ではなく、各グループのエキスパンダー内に列ヘッダーを表示したいと思います。
グループ化された CollectionViewSource を ListView のソースとして使用する場合、ListView.GridView の各グループ内で列ヘッダーを繰り返す方法はありますか?
Expander コントロールを使用して各グループを表示するhttp://msdn.microsoft.com/en-us/library/ms754027.aspxの例を使用しています。
ListView の上部ではなく、各グループのエキスパンダー内に列ヘッダーを表示したいと思います。
私はこれを試していませんが、グループ ヘッダー内に GridViewHeaderRowPresenters を含めることができる場合があります。
<GridViewHeaderRowPresenter
DataContext="{Binding View, RelativeSource={RelativeSource FindAncestor,ListView,1}}"
Columns="{Binding Columns}"
ColumnHeaderContainerStyle="{Binding ColumnHeaderContainerStyle}"
ColumnHeaderTemplate="{Binding ColumnHeaderTemplate}"
ColumnHeaderTemplateSelector="{Binding ColumnHeaderTemplateSelector}"
AllowsColumnReorder="{Binding AllowsColumnReorder}"
ColumnHeaderContextMenu="{Binding ColumnHeaderContextMenu}"
ColumnHeaderToolTip="{Binding ColumnHeaderToolTip}"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
それがうまくいかない場合、確実な方法の 1 つは、GridView の上部にある唯一の GridViewHeaderRowPresenter を参照する VisualBrush で描画される Rectangle を追加することです。
これは、Rectangle で使用される添付プロパティで行うことができます。添付プロパティが設定されると、次の優先度の低い Dispatcher コールバックが登録されます。
Rectangle 自体は次のようになります。
<Rectangle HorizontalAlignment="Stretch"
Height="{Binding Fill.Visual.RenderHeight}"
my:GridViewHeaderHelper.SearchForHeaderRowPresenterAndSetFill="True" />