J'ai un GridView avec un ScrollViewer qui permet de faire défiler horizontalement avec le contenu de GridView. Je l'ai changé en utilisant Chris Cavanagh's rounded corners solution, ce qui inclut de mettre une grille autour du GridViewHeaderRowPresenter et d'ajouter une bordure au même niveau qui est ensuite utilisée comme un masque d'opacité (see this question for more information).L'en-tête WPF GridView ne défile pas horizontalement
Cela semble désactiver le défilement horizontal pour l'en-tête. Si je redimensionne la fenêtre du navigateur à quelque chose de plus petit en forçant une barre de défilement pour le contenu, l'en-tête reste fixe. J'imagine que le xaml ajouté désactive en quelque sorte le défilement de l'en-tête.
Voici à quoi ressemble le code. Notez qu'il s'agit d'une définition de style qui cible un élément ScrollViewer, pas directement dans le balisage XAML de la page.
<ScrollViewer Focusable="false"
HorizontalScrollBarVisibility="Hidden"
VerticalScrollBarVisibility="Hidden"
DockPanel.Dock="Top"
Style="{DynamicResource HEK_ScrollViewer}">
<Grid>
<Border Name="Mask"
CornerRadius="20,20,0,0"
Background="White" />
<GridViewHeaderRowPresenter Margin="1,0,1,1"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
Columns="{Binding TemplatedParent.View.Columns, RelativeSource={RelativeSource TemplatedParent}}"
AllowsColumnReorder="{Binding TemplatedParent.View.AllowsColumnReorder, RelativeSource={RelativeSource TemplatedParent}}"
ColumnHeaderContainerStyle="{DynamicResource HEK-GridViewColumnHeaderStyle}"
ColumnHeaderContextMenu="{Binding TemplatedParent.View.ColumnHeaderContextMenu, RelativeSource={RelativeSource TemplatedParent}}"
ColumnHeaderStringFormat="{Binding TemplatedParent.View.ColumnHeaderStringFormat, RelativeSource={RelativeSource TemplatedParent}}"
ColumnHeaderTemplate="{Binding TemplatedParent.View.ColumnHeaderTemplate, RelativeSource={RelativeSource TemplatedParent}}"
ColumnHeaderTemplateSelector="{Binding TemplatedParent.View.ColumnHeaderTemplateSelector, RelativeSource={RelativeSource TemplatedParent}}"
ColumnHeaderToolTip="{Binding TemplatedParent.View.ColumnHeaderToolTip, RelativeSource={RelativeSource TemplatedParent}}">
<GridViewHeaderRowPresenter.OpacityMask>
<VisualBrush Visual="{Binding ElementName=Mask}" />
</GridViewHeaderRowPresenter.OpacityMask>
</GridViewHeaderRowPresenter>
</Grid>
</ScrollViewer>