wpf Button.MouseLeftButtonDown根本不起作用

我试图了解MouseLeftButtonDown如何工作,但直到现在还没有。

当我点击按钮时,没有任何内容。

   

代码背后是:

 private void sss_MouseDown(object sender, MouseButtonEventArgs e) { MessageBox.Show("3 ->>>>>" + ((Control)sender).Name); } 

从此活动的文档 :

某些控件类可能具有鼠标按钮事件的固有类处理。 鼠标左键按下事件是在控件中进行类处理的最可能事件。 类处理通常将基础Mouse类事件标记为已处理。 一旦事件被标记为已处理,则通常不会引发附加到该元素的其他实例处理程序。 在UI树中朝向根的冒泡方向上附加到元素的任何其他类或实例处理程序也通常不会引发。

简而言之:按钮可能正在处理此事件,以便生成自己的MouseDownMouseClick事件。 因为按钮将事件标记为已处理,所以不会调用您自己的处理程序。 请尝试使用其中一个更标准的事件。

该页面还列出了几个解决方法,但通常我会避开这些并使用更标准的解决方案。

尝试简单的PreviewMouseLeftButtonDown事件

我有同样的问题,但使用了PreviewMouseLeftButtonDown事件。 那很有效。