4

我遇到了一个大问题,我已经尽我所能,但我没有找到任何解决方案。我有一个带有 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)
    {
        ...
    }

有人知道为什么吗?

谢谢,

问候,

弗洛

4

1 回答 1

12

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

listBox_Faits.AddHandler(MouseLeftButtonDownEvent, new MouseButtonEventHandler(listBox_Faits_MouseLeftButtonDown), true);
于 2011-01-07T09:36:15.557 回答