Я не пробовал это, но вы можете включить 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}"/>
Если это не сработает, один из надежных способов сделать это — добавить прямоугольник, нарисованный с помощью VisualBrush, который ссылается на единственный и неповторимый GridViewHeaderRowPresenter в верхней части GridView.
Это можно сделать с помощью прикрепленного свойства, которое будет использоваться в прямоугольнике. Когда прикрепленное свойство установлено, оно регистрирует обратный вызов Dispatcher с низким приоритетом, который:
- Сканирует визуальное дерево до ListView
- Выполняет поиск до тех пор, пока не найдет GridViewHeaderRowPresenter.
- Создайте VisualBrush и установите его в качестве заливки для прямоугольника и
Сам прямоугольник будет примерно таким:
<Rectangle HorizontalAlignment="Stretch"
Height="{Binding Fill.Visual.RenderHeight}"
my:GridViewHeaderHelper.SearchForHeaderRowPresenterAndSetFill="True" />
person
Ray Burns
schedule
16.06.2010