我遇到了一个巨大的问题,我已尽力而为,但我找不到任何解决方案。 我有一个带有DataTemplate的listBox。我想使用事件MouseLeftButtonDown和MouseLeftButtonUp检查所选项目是否与用户点击相同。
问题是识别MouseLeftButtonUp事件但不识别事件MouseLeftButtonDown。
我的XAML代码的一部分:
<ListBox Grid.Row="1" MouseLeftButtonDown="listBox_Faits_MouseLeftButtonDown"
MouseLeftButtonUp="listBox_Faits_MouseLeftButtonUp">
背后的代码:
private void listBox_Faits_MouseLeftButtonUp(object sender, MouseEventArgs e)
{
...
}
private void listBox_Faits_MouseLeftButtonDown(object sender, MouseEventArgs e)
{
...
}
有人知道为什么吗?
谢谢你,
此致
弗洛
答案 0 :(得分:11)
这是因为MouseLeftButtonDown事件正由列表框项处理。要处理已处理的事件,您可以在代码隐藏中订阅它并指定您要处理处理的事件,如下所示:
listBox_Faits.AddHandler(MouseLeftButtonDownEvent, new MouseButtonEventHandler(listBox_Faits_MouseLeftButtonDown), true);