web-dev-qa-db-fra.com

Comment désactiver les cellules d'édition dans une grille de données WPF?

Je construis une grille de données dans Windows Presentation Foundation et j'ai un problème. Lorsqu'un utilisateur double-clique sur une cellule de ma grille de données, la cellule passe en mode édition. Je veux empêcher ça. Au lieu de cela, je veux que les utilisateurs soient en mesure de sélectionner la ligne complète - et non d’en modifier les valeurs.

Comment puis-je faire en sorte que les doubles-clics sélectionnent la ligne complète au lieu de mettre la cellule sur laquelle vous avez cliqué en mode édition?

108
Pouyan

Le WPF DataGrid possède une propriété IsReadOnly que vous pouvez définir sur True pour que les utilisateurs ne puissent pas modifier les cellules de votre DataGrid.

Vous pouvez également définir cette valeur pour des colonnes individuelles dans votre DataGrid selon vos besoins.

235
Leslie Davies

Le DataGrid a une propriété XAML IsReadOnly que vous pouvez définir sur true:

<my:DataGrid
    IsReadOnly="True"
/>
45
Stephen

Si vous souhaitez désactiver la modification de la grille entière, vous pouvez définir IsReadOnly sur true dans la grille. Si vous souhaitez désactiver l'utilisateur pour ajouter de nouvelles lignes, définissez la propriété CanUserAddRows = "False"

<DataGrid IsReadOnly="True" CanUserAddRows="False" />

De plus, vous pouvez définir IsReadOnly sur des colonnes individuelles pour désactiver l’édition.

3
VivekDev