Как захватить щелчок мышью на элементе в ListBox в WPF?

Я хочу получать уведомления, когда элемент в ListBox щелкается мышью, независимо от того, выбран он или нет.

Я искал и нашел это :(http://kevin-berridge.blogspot.com/2008/06/wpf-listboxitem-double-click.html смотрите комментарии)

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

Это работает, но это делает это дляDoubleClick, Я не могу заставить его работать за один клик. Я старалсяMouseLeftButtonDownEvent - поскольку, по-видимому, нетMouseClick событие, но оно не вызывается.

Немного более общий вопрос: как я могу увидеть, какие события существуют и какие обработчики им соответствуют и когда они действительно что-то делают? Например, что говорит мне, что дляMouseDoubleClickEvent мне нужноMouseButtonEventHandler? Может быть дляMouseLeftButtonDownEvent Мне нужен какой-то другой обработчик, и поэтому он не работает?

Я также пробовал создавать подклассыListBoxItem и переопределитьOnMouseLeftButtonDown - но он также не вызывается.

Марк

Ответы на вопрос(6)

Ваш ответ на вопрос