MouseMove 事件不是静态且只读的

MouseMove Event not static and readonly

我正在尝试将 "mousemove" 事件的委托添加到 class 中的方法。我正在使用我将用于 Xaml "MouseMove" 的事件处理程序,但它不可用,只有 "MouseMoveEvent" 可用(我不知道这是否会影响事情)。

我查看了元数据中的 2 种不同类型,但它告诉我的不多。我也试过将它链接到只读和静态的方法,但它无效。

我正在像这样制作委托:

MainWindow.MouseMoveEvent += delegate (object sender, MouseEventArgs e) { Project.Mouse_Move(this); };

其中 MainWindow 是我的 UI 的 window。这是它调用的函数

public partial class Program
{
   public void Mouse_Move(MainWindow MainWind)
    {

    }
}

我正在尝试获得与您通过 xaml:

相同的结果
Title="MainWindow" MouseMove="Window_MouseMove">

和这样的方法:

 private void Window_MouseMove(object sender, MouseEventArgs e)
    {

    }

MainWindow 是一种类型。您需要引用 window 的实际实例才能将事件处理程序连接到它的 MouseMove 事件。试试 Application.Current.MainWindow:

Application.Current.MainWindow.MouseMove += delegate (object sender, MouseEventArgs e) { Project.Mouse_Move(this); };

Application.Current.Windows:

var window = Application.Current.Windows.OfType<MainWindow>().FirstOrDefault();
if(window != null)
    window.MouseMove += delegate (object sender, MouseEventArgs e) { Project.Mouse_Move(this); };