Je ne l'ai pas essayé, mais vous pouvez être en mesure d'inclure GridViewHeaderRowPresenters dans vos en-têtes de groupe:
<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}"/>
Si cela ne fonctionne pas, un moyen infaillible de le faire est d'ajouter une Rectangle qui est peint avec un VisualBrush qui référence le GridViewHeaderRowPresenter unique en haut de GridView.
Cela peut être fait avec une propriété jointe à utiliser sur le rectangle. Lorsque la propriété attachée est définie, elle enregistre un rappel Dispatcher faible priorité:
- Scans l'arbre visuel à la ListView
- recherches vers le bas jusqu'à ce qu'il trouve le GridViewHeaderRowPresenter
- Construire un VisualBrush et définit comme le remplissage du rectangle et
le rectangle lui-même serait quelque chose comme ceci:
<Rectangle HorizontalAlignment="Stretch"
Height="{Binding Fill.Visual.RenderHeight}"
my:GridViewHeaderHelper.SearchForHeaderRowPresenterAndSetFill="True" />
Ray, merci beaucoup, c'est parfait! Vous ne pouvez pas demander beaucoup plus que cela à partir d'une réponse, j'ai copié le XAML dans mon style de groupe et cela a fonctionné tout de suite. Qualité. Btw, je suis heureux d'utiliser le GridViewHeaderRowPresenter dans mes en-têtes de groupe a fait l'affaire, parce que la deuxième solution que vous avez offert semblait un peu plus impliqué ... – Riko