C# 列表框无法识别MouseLeftButtonDown?

C# 列表框无法识别MouseLeftButtonDown?,c#,wpf,listbox,mouseleftbuttondown,C#,Wpf,Listbox,Mouseleftbuttondown,我遇到了一个巨大的问题,我已经尽了我所能,但我没有找到任何解决办法。 我有一个带有数据模板的列表框。我想使用事件MouseLeftButtonDown和MouseLeftButtonUp检查所选项目是否与用户单击的项目相同 问题是MouseLeftButtonUp事件已被识别,但MouseLeftButtonDown事件未被识别 我的XAML代码的一部分: <ListBox Grid.Row="1" MouseLeftButtonDown="listBox_Faits_MouseLeftB

我遇到了一个巨大的问题,我已经尽了我所能,但我没有找到任何解决办法。 我有一个带有数据模板的列表框。我想使用事件MouseLeftButtonDown和MouseLeftButtonUp检查所选项目是否与用户单击的项目相同

问题是MouseLeftButtonUp事件已被识别,但MouseLeftButtonDown事件未被识别

我的XAML代码的一部分:

<ListBox Grid.Row="1" MouseLeftButtonDown="listBox_Faits_MouseLeftButtonDown"
                      MouseLeftButtonUp="listBox_Faits_MouseLeftButtonUp">
有人知道为什么吗

谢谢你

问候,


Flo

发生这种情况是因为MouseLeftButtonDown事件正在由列表框项处理。要处理已处理的事件,可以在代码隐藏中订阅它,并指定要处理的事件,如下所示:

listBox_Faits.AddHandler(MouseLeftButtonDownEvent, new MouseButtonEventHandler(listBox_Faits_MouseLeftButtonDown), true);

我想建议你也尝试一下PreviewMouseLeftButtonDown事件,但这种方式让你有更多的控制权。嗯。。。Pavlo,我尝试了你的解决方案,但事件未被识别!它应该会起作用。请再查一下。不要忘记将“true”传递给AddHandler的最后一个参数!另外,正如@Tom提到的,你可以订阅PreviewMouseLeftButtonDown事件。我查了一千遍。但我相信你的解决方案,它应该有效。。。所以我要最后检查一次!(我会检查我所有的代码,以确保……因为没有理由解释为什么它不工作)谢谢,如果它工作,我警告你!哦,天哪,它起作用了。。。问题是它创建了第二个MouseleftButtoneEvent处理程序,带有MouseButtonEventArgs。。。但我用的是一只老鼠。。。非常感谢你,帕夫洛!
listBox_Faits.AddHandler(MouseLeftButtonDownEvent, new MouseButtonEventHandler(listBox_Faits_MouseLeftButtonDown), true);