【发布时间】:2019-05-03 12:16:22
【问题描述】:
我有一个 Xamarin.Forms 应用程序,并使用主窗口中的 PreviewKeyDown 事件成功捕获 WPF 中的应用程序级按键事件。
如何在 AppDelegate 或其他方式中为 Xamarin.Mac 做同样的事情?
【问题讨论】:
标签: macos xamarin xamarin.forms xamarin.mac
我有一个 Xamarin.Forms 应用程序,并使用主窗口中的 PreviewKeyDown 事件成功捕获 WPF 中的应用程序级按键事件。
如何在 AppDelegate 或其他方式中为 Xamarin.Mac 做同样的事情?
【问题讨论】:
标签: macos xamarin xamarin.forms xamarin.mac
您可以在本地级别的 AppDelegate 的 DidFinishLaunching 中添加一个 NSEvent 处理程序,以监控 NSEventMask 的任意组合。
public override void DidFinishLaunching(NSNotification notification)
{
NSEvent.AddLocalMonitorForEventsMatchingMask(NSEventMask.KeyDown, (NSEvent theEvent) =>
{
Console.WriteLine(theEvent);
return theEvent;
});
Forms.Init();
LoadApplication(new App());
base.DidFinishLaunching(notification);
}