Jak przechwycić kliknięcie myszą na elemencie w polu listy w WPF?

Chcę otrzymywać powiadomienia, gdy element listy ListBox zostanie kliknięty przez mysz, niezależnie od tego, czy jest już zaznaczony, czy nie.

Szukałem i znalazłem to: (http://kevin-berridge.blogspot.com/2008/06/wpf-listboxitem-double-click.html zobacz komentarze)

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));

To działa, ale robi to zaDoubleClick. Nie mogę tego zrobić za jednym kliknięciem. próbowałemMouseLeftButtonDownEvent - jak nie wydaje się byćMouseClick wydarzenie, ale nie jest wywoływane.

Nieco bardziej ogólne pytanie: Jak mogę zobaczyć, które wydarzenia istnieją i które programy obsługi odpowiadają im i kiedy rzeczywiście coś robią? Na przykład, co mówi mi to zaMouseDoubleClickEvent PotrzebujęMouseButtonEventHandler? Może zaMouseLeftButtonDownEvent Potrzebuję innej obsługi i dlatego nie działa?

Próbowałem również podklasyListBoxItem i nadpisaćOnMouseLeftButtonDown - ale też nie jest wywoływany.

Marc

questionAnswers(6)

yourAnswerToTheQuestion