6
votes

Comment gérer l'événement lorsque vous cliquez sur l'espace vide?

Je veux attraper l'événement lorsqu'une liste de lecture est cliquée sur un espace vide - c'est-à-dire cliquer sur aucun élément dans le contrôle ListView.

J'ai recherché dans la liste des événements de la liste de liste mais n'a trouvé aucun. Comment puis-je faire ceci? S'il vous plaît aider!

[modifier] Ce que je veux faire si je pouvais attraper cet événement: désélectionnez tous les éléments de la liste de liste.


2 commentaires

Je pense que cela pourrait être un duplicata de Stackoverflow.com/Questtions/23133527/...


Est-ce que cela répond à votre question? Listbox WPF Supprimer la sélection en cliquant sur une tache blanche


3 Réponses :


0
votes

1 commentaires

En tant que note latérale: les articles géreront les événements de MouseDown mais pas les événements de MouseUp. Ainsi, vous recevez un événement de MouseUp sur la liste ListBox / ListView même lorsque le clic se produit sur un élément ou dans l'espace vide.



5
votes

Si vous attachez un gestionnaire à l'événement MouseleftButToundown sur la listeVoir, il ne tirera que lorsque des zones situées en dehors d'un ListViewItem sont cliquées. Tous les clics à l'intérieur des éléments seront gérés par les éléments eux-mêmes pour piloter le comportement de sélection de la liste de liste.

Vous pouvez modifier les zones cliquables en ajustant l'arrière-plan ({x: null} n'est pas cliquable, rien d'autre est) et la marge de la listeViewitems en définissant un élémentContainerStyle sur la liste de réception. Assurez-vous également que vous n'utilisez pas d'arrière-plan nul sur la liste elle-même (White est la valeur par défaut, transparent fonctionne également).


0 commentaires

0
votes

J'ai trouvé si j'avais déjà une seule fois sur un élément de la liste de liste (et la sélectionnant ainsi), alors double cliquée sur l'espace vide dans le résultat indésirable du résultat indésirable de l'action précédemment sélectionnée comme si elle avait été utilisée. été double cliquée sur (plutôt que l'espace vide). Pour contourner cela, j'ai utilisé le code suivant (vb.net): xxx

avec ce code en place double cliquant sur l'espace vide Désélectionnez les éléments précédemment sélectionnés et a l'effet souhaité de rien ne semble se produire pour l'utilisateur lorsqu'ils double-cliquez dans une zone vide.


0 commentaires