Comment masquer le sélecteur de ligne wpf datagrid


108

J'utilise le contrôle WPF DataGrid pour afficher certains détails et un bouton de sélection, et je n'ai pas besoin de la colonne de sélection grise sur le côté gauche. Cela ruine également la beauté de mon design.

Existe-t-il un moyen de le supprimer, ou comment puis-je le styliser pour qu'il corresponde sinon?

Réponses:


149

Utilisez la RowHeaderWidthpropriété:

<my:DataGrid RowHeaderWidth="0" AutoGenerateColumns="False" Name="dataGrid1" />

Notez que vous pouvez également spécifier un style ou un modèle pour celui-ci, si vous décidez que vous l'aimez vraiment et que vous souhaitez le conserver car vous pouvez faire quelque chose de cool avec lui.


1
pour une raison quelconque, je n'ai trouvé cela nulle part. Sentez-vous un peu "doh!" maintenant, mais merci.
Tim Almond

30
La réponse de user556009 est la bonne réponse pour cela. Ie set HeadersVisibility = "Column"
Sameera

6
@scorpion: définir uniquement HeadersVisibility = "Column" entraînera le décalage horizontal de certains en-têtes de colonne par rapport au contenu de la cellule. Définir à la fois HeadersVisibility = "Column" et RowHeaderWidth = "0" (ou juste le dernier) résout ce problème.
Jarek Kardas

1
@JarekKardas C'était mon cas. J'ai joué avec différentes valeurs HeadersVisibility et RowHeaderWidth et je ne peux pas me débarrasser du décalage. Ensuite, je laisse seulement HeadersVisibility = "Column" et je viens de nettoyer et reconstruire la solution et le décalage est parti. Après cela, HeadersVisibility = "Column" suffisait.
Alex34758

233

Au lieu de définir la largeur, vous pouvez masquer complètement les en-têtes de ligne en définissant sur le DataGrid

HeadersVisibility="Column"

3
gridView.HeadersVisibility = DataGridHeadersVisibility.Column;
George Mavritsakis

2
Si quelqu'un veut supprimer tous les en-têtes:HeadersVisibility="None"
Tim Pohlmann

2

Pour supprimer l'en-tête de ligne (champ gris) dans Datagrid dans WPF

<DataGrid x:Name="TrkDataGrid" HeadersVisibility="Column">
</DataGrid>

Pour supprimer ou masquer l'en-tête de colonne dans DataGrid WPF

<DataGrid x:Name="TrkDataGrid" HeadersVisibility="Row">
</DataGrid>

Pour supprimer ou masquer à la fois l'en-tête de colonne et de ligne dans DataGrid WPF

<DataGrid x:Name="TrkDataGrid" HeadersVisibility="None">
</DataGrid>

Essaye ça. C'est utile
Maghalakshmi Saravana le

Que la réponse à cette question mérite
Orace

0

Avait le même problème.

On dirait que RowHeaderWidth n'est pas pris en charge en XAML MAIS vous pouvez spécifier dans le code juste après la liaison et il supprime cette colonne de sélecteur de merde.

grdName.RowHeaderWidth = 0

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.