WPF:我如何处理ListBox项目的点击?

Cri*_*ris 17 c# wpf listboxitem

在我的WPF应用程序中,我正在处理ListBox SelectionChanged事件,它运行正常.

现在我需要处理一个点击事件(即使对于已经选择的项目); 我尝试过MouseDown,但它不起作用.如何处理ListBox单击项目?

小智 33

只需处理PreviewMouseDown事件:

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
    }
}
Run Code Online (Sandbox Code Playgroud)


Arc*_*rus 6

也许试试这个PreviewMouseDown活动.该MouseDown事件被吞并并转换为该SelectionChanged事件.

唯一的缺点是在此PreviewMouseDown之前会发生SelectionChanged.