Comment faire pour capturer un clic de souris sur un Élément dans une liste dans WPF?

Je veux être averti lorsqu'un élément d'une liste obtient clique sur la souris, si elle est déjà sélectionnée ou pas.

J'ai cherché et trouvé ceci: (http://kevin-berridge.blogspot.com/2008/06/wpf-listboxitem-double-click.html voir les commentaires)

private void AddDoubleClickEventStyle(ListBox listBox, MouseButtonEventHandler mouseButtonEventHandler)
{
    if (listBox.ItemContainerStyle == null)
        listBox.ItemContainerStyle = new Style(typeof(ListBoxItem));
    listBox.ItemContainerStyle.Setters.Add(new EventSetter()
    {
        Event = MouseDoubleClickEvent,
        Handler = mouseButtonEventHandler
    });
}

//Usage:
AddDoubleClickEventStyle(listView1, new MouseButtonEventHandler(listView1_MouseDoubleClick));

Cela fonctionne, mais il le fait pour un DoubleClick. Je ne peux pas obtenir un seul clic si. J'ai essayé MouseLeftButtonDownEvent - comme il ne semble pas être un MouseClick événement, mais il n'est pas appelé.

Un peu plus général de côté la question: Comment puis-je voir ce qui n'existe pas et les gestionnaires correspondent à eux et quand ils font vraiment quelque chose? Par exemple, ce qui me dit que pour MouseDoubleClickEvent j'ai besoin d'un MouseButtonEventHandler? Peut-être pour un MouseLeftButtonDownEvent j'ai besoin de quelques autres gestionnaires et c'est pourquoi il ne fonctionne pas?

J'ai aussi essayé sous-classement ListBoxItem et remplacer OnMouseLeftButtonDown - mais il n'est pas appelé.

Marc

InformationsquelleAutor marc40000 | 2009-08-13