[ad_1]
Salut les gars
S’il vous plaît, veuillez voir la photo Intersection — Freeimage.host[^]
Comme vous le voyez, il y a un espace blanc entre RowHeaders et ColumnHeaders dans DataGrid. J’ai donc besoin de savoir comment puis-je changer sa couleur ?
Merci.
Ce que j’ai essayé :
J’ai essayé de changer l’arrière-plan de RowHeader, également de ColumnHeader, mais sa couleur n’a pas changé.
J’ai cherché sur Internet mais je n’ai trouvé aucun code pour cela.
Solution 1
Le meilleur endroit pour comprendre un contrôle WPF est de consulter le modèle par défaut. Pour le DataGrid, il peut être trouvé ici : Styles et modèles DataGrid – WPF .NET Framework | Microsoft Apprendre[^].
Ce que vous soulignez, c’est le Bouton Sélectionner tout dans le coin supérieur gauche du DataGrid
.
En utilisant le lien ci-dessus, c’est le DataGridSelectAllButtonStyle
. C’est le tout premier style trouvé sur la page liée ci-dessus.
<Style TargetType="{x:Type Button}" x:Key="{ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}"> <!-- trimmed --> </Style>
Faites une recherche dans le modèle et vous pourrez voir où il est appliqué. C’est le style que vous devez modifier.
<ControlTemplate TargetType="{x:Type DataGrid}"> <!-- trimmed --> <Button Focusable="false" Command="{x:Static DataGrid.SelectAllCommand}" Style="{DynamicResource {ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}}" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.All}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" Width="{Binding CellsPanelHorizontalOffset, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" /> <!-- trimmed --> </ControlTemplate>
Il faut donc modifier le DataGridSelectAllButtonStyle
et appliquez un nouveau ControlTemplate
. Il y a un lien sur cette page qui vous indiquera comment créer un ControlTemplate
et un lien vers un exemple en bas de la page.
[ad_2]
コメント