Arrêt de grille de données en sélectionnant d'abord la ligne par défaut
Je suis en utilisant Wpf Toolkit DataGrid. Chaque fois que je attribuer Itemssource à elle, son premier élément d'être sélectionné et de son selectionChanged événement est appelé. Comment puis-je l'arrêter pour sélectionner toute la ligne par défaut?
- Avez-vous essayez de définir le
SelectedIndex
propriété -1 avant/après la mise à l'ItemSource
?
Vous devez vous connecter pour publier un commentaire.
Vérifier si vous avez défini
IsSynchronizedWithCurrentItem="True"
et vous obliger à être définie de la même façon?Avec définissez cette propriété sur true, la sélection du premier élément est la valeur par défaut de comportement.
Les Chances sont que votre grille de données est lié à une collection comme PagedCollectionView qui a une propriété CurrentItem. Cette propriété est automatiquement synchronisé avec la ligne sélectionnée, dans les deux directions. La solution serait de définir la CurrentItem à null. Vous pouvez le faire comme ceci:
Ceci est particulièrement utile dans Silverlight, qui n'a pas de DataGrid.IsSynchronizedWithCurrentItem propriété...
HCL réponse est bonne, mais pour rapide et libre des lecteurs comme moi, il s'est avéré à confusion et j'ai fini par passer plus de temps à la recherche autour d'enquêter sur d'autres choses avant de revenir ici et de les lire attentivement.
Est le morceau qui nous intéresse, pas de son adversaire!
D'ajouter de la valeur de mon propre:
la propriété
IsSynchronizedWithCurrentItem=True
moyen de la grilleCurrentItem
sera synchronisé avec la collection de l'élément courant. RéglageIsSynchronizedWithCurrentItem=False
est ce que nous voulons ici.Pour Xceed de la grille de données utilisateurs (comme j'ai été dans ce cas), ça va être
SynchronizeCurrent=False
J'ai essayé un certain nombre de choses différentes, mais ce qui a fonctionné pour moi était de capturer le premier événement de sélection et "annuler" par la désélection de tous les sur la grille de données.
Voici le code pour faire ce travail, j'espère que c'est bénéfique à quelqu'un d'autre 🙂