C# MouseMove事件阻止WPF中的MouseRightButtonUp事件

C# MouseMove事件阻止WPF中的MouseRightButtonUp事件,c#,wpf,events,mouseevent,C#,Wpf,Events,Mouseevent,我用DrawingVisual画了一些线。现在我正在尝试实现一个简单的命中测试 当鼠标指针在一条线上移动时,我会用两倍于它的厚度重新绘制它,给用户一种高亮显示的感觉(下图中的洋红线) 在我还实现了一个MouseRightButtonUp事件之前,这一切都很好。我想在用户右键单击该行时显示messagebox。但不知何故,当鼠标悬停在该行上并高亮显示该行时,MouseRightButtonUpevent根本不会升起。有什么问题吗 MouseMove += OnMouseMove; MouseRi

我用DrawingVisual画了一些线。现在我正在尝试实现一个简单的命中测试

当鼠标指针在一条线上移动时,我会用两倍于它的厚度重新绘制它,给用户一种高亮显示的感觉(下图中的洋红线)

在我还实现了一个
MouseRightButtonUp
事件之前,这一切都很好。我想在用户右键单击该行时显示messagebox。但不知何故,当鼠标悬停在该行上并高亮显示该行时,
MouseRightButtonUp
event根本不会升起。有什么问题吗

MouseMove += OnMouseMove;
MouseRightButtonUp += OnMouseRightButtonUp;

private void OnMouseMove(object sender, MouseEventArgs e)
{
    var p = e.GetPosition(Window);

    // Check if the mouse hit any lines and redraw

    ReDraw();

}

void OnMouseRightButtonUp(object sender, MouseButtonEventArgs e)
{
    // Check if any line is hit and show the message box
    if (lineHit)
    {
        MessageBox.Show("You hit the line!");
    }
}

尝试
PreviewMouseRightButtonUp
tunneling事件。@dymanoid我做了,结果相同。当我删除MouseMove事件时,一切都会恢复正常。您正在连接
MouseMove
MouseRightButtonUp
,因为我用一个简单的应用程序进行了尝试,两者都很好。@III
边框
控件。你能把那个应用程序发给我吗?我刚刚试着调试它,它似乎在
OnMouseMove
方法中进入了一个循环,在这个文件中没有什么特别之处,只是我重新绘制了行,也许这会再次触发mousemove?