WPF: how do i handle a click on a ListBox item? WPF: how do i handle a click on a ListBox item? wpf wpf

WPF: how do i handle a click on a ListBox item?


Just handle PreviewMouseDown event:

private void listBox_PreviewMouseDown(object sender, MouseButtonEventArgs e){    var item = ItemsControl.ContainerFromElement(listBox, e.OriginalSource as DependencyObject) as ListBoxItem;    if (item != null)    {        // ListBox item clicked - do some cool things here    }}


Perhaps try the PreviewMouseDown event. The MouseDown event gets swallowed and converted to the SelectionChanged event.

Only downside is that the PreviewMouseDown will occur before the SelectionChanged.


Listbox internally uses the mouse down to perform selection changed. So you can use preview mouse down event.

Apart from preview mouse down, you can use EventManager.RegisterClassHandler...

     EventManager.RegisterClassHandler(typeof(ListBoxItem), ListBoxItem.MouseLeftButtonDownEvent, new RoutedEventHandler(EventBasedMouseLeftButtonHandler));     private static void EventBasedMouseLeftButtonHandler(object sender, RoutedEventArgs e)     {     }

Let me know if this helps...