我正在尝试将“ mousemove”事件的委托添加到类中的方法。我正在使用将用于Xaml“ MouseMove”的EventHandler,但它不可用,只有“ MouseMoveEvent”可用(我不知道这是否会影响事情)。
我已经查看了元数据中的2种不同类型,但是告诉我的并不多。我还尝试过将其链接为只读和静态的方法,但这是无效的。
我正在像这样委托:
MainWindow.MouseMoveEvent += delegate (object sender, MouseEventArgs e) { Project.Mouse_Move(this); };
MainWindow是我的UI窗口。这是它正在调用的功能
public partial class Program
{
public void Mouse_Move(MainWindow MainWind)
{
}
}
我正在尝试获得与通过xaml执行相同结果的结果:
Title="MainWindow" MouseMove="Window_MouseMove">
和类似的方法:
private void Window_MouseMove(object sender, MouseEventArgs e)
{
}
欢迎任何解决方案或答案,如果可以采用其他方法,请说。谢谢。
答案 0 :(得分:1)
MainWindow
是一种类型。您需要引用窗口的实际实例,以便能够将事件处理程序连接到其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); };