Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Visual Studio for Mac System.Windows.Input参考_C#_Macos_Visual Studio - Fatal编程技术网

C# Visual Studio for Mac System.Windows.Input参考

C# Visual Studio for Mac System.Windows.Input参考,c#,macos,visual-studio,C#,Macos,Visual Studio,我正在尝试检测用户按下的键,通常我可以使用“System.Windows.Input”引用,但是当我尝试引用它时,它没有库 是否有我遗漏的东西,或者这在Mac版本的Visual Studio上不受支持 谢谢 Alex实际上,System.Windows.Input命名空间的很大一部分位于WindowsBase 但是它不会有多大帮助,因为您正在寻找的键盘类位于PresentationCore程序集中,它是WPF的一部分,在Mono上不受支持(我想永远也不会受支持)。 唯一可行的(-ish)方法是

我正在尝试检测用户按下的键,通常我可以使用“System.Windows.Input”引用,但是当我尝试引用它时,它没有库

是否有我遗漏的东西,或者这在Mac版本的Visual Studio上不受支持

谢谢
Alex

实际上,
System.Windows.Input
命名空间的很大一部分位于
WindowsBase

但是它不会有多大帮助,因为您正在寻找的
键盘
类位于
PresentationCore
程序集中,它是WPF的一部分,在Mono上不受支持(我想永远也不会受支持)。
唯一可行的(-ish)方法是从Mono的源代码中构建一个从未发布过的Mono


您可以使用
System.Windows.Forms

实际上,
System.Windows.Input
命名空间的很大一部分位于
WindowsBase

但是它不会有多大帮助,因为您正在寻找的
键盘
类位于
PresentationCore
程序集中,它是WPF的一部分,在Mono上不受支持(我想永远也不会受支持)。
唯一可行的(-ish)方法是从Mono的源代码中构建一个从未发布过的Mono


但是,您可以使用
System.Windows.Forms

您是对的,这是不可能的(甚至不符合逻辑)

Visual Studio for Mac根本不适合为Windows开发软件,命名空间“Windows”中几乎没有可用的内容。正如我所说的,这甚至不应该是预期的——例如,在你的例子中,Windows和Mac的键盘不是100%相同,所以即使是一些关键枚举也完全不可能移植

根据您使用的项目类型(Mac应用程序、iOS应用程序、Android应用程序、Xamarin表单应用程序),您必须找到其他API


从来没有人制作过一个用户界面工具包来处理另一个。他们只是不同而已。只有像Xamarin表单这样的元界面,它在任何地方都只能提供普通的东西,这样就可以将它们转换为每个本机用户界面。

你说得对,这是不可能的(甚至不符合逻辑)

Visual Studio for Mac根本不适合为Windows开发软件,命名空间“Windows”中几乎没有可用的内容。正如我所说的,这甚至不应该是预期的——例如,在你的例子中,Windows和Mac的键盘不是100%相同,所以即使是一些关键枚举也完全不可能移植

根据您使用的项目类型(Mac应用程序、iOS应用程序、Android应用程序、Xamarin表单应用程序),您必须找到其他API


从来没有人制作过一个用户界面工具包来处理另一个。他们只是不同而已。只有像Xamarin forms这样的元界面,它在任何地方都只能提供普通的东西,这样就可以将它们转换为每个本机用户界面。

我很惊讶,在为Mac开发Visual Studio时,他们没有创建支持键输入的库,这似乎有点奇怪,你不觉得吗?事实上,他们是这样做的,不止一个。唯一缺少的一种是WPF相关的(而且除了Windows之外,你不能在任何地方使用WPF)。对于任何桌面GUI应用程序,您都可以使用
System.Windows.Forms
Gtk
()来获得相同的功能。@AlexMarchant所有操作系统都有用于键输入的本机API。然而,在Mac上,您应该使用Xamarin.Mac调用MacOSAPI来构建UI,并做您应该做的事情。这并不奇怪,只是另一套供您学习和掌握的框架。@Lemx将人们指向Mono的WinForms或GTK#目前不是一个好建议。前者是不完整的,后者更适合Linux。当然,它们应该在某种程度上起作用。@AlexMarchant正如Lex Li指出的那样,通过使用可用的Mac API可以完全解决这个问题。奇怪的是,你期望Windows API在Mac上工作。我很惊讶,在为Mac开发Visual Studio时,他们没有创建一个支持按键输入的库,这似乎有点奇怪,你不觉得吗?事实上,他们不止一个。唯一缺少的一种是WPF相关的(而且除了Windows之外,你不能在任何地方使用WPF)。对于任何桌面GUI应用程序,您都可以使用
System.Windows.Forms
Gtk
()来获得相同的功能。@AlexMarchant所有操作系统都有用于键输入的本机API。然而,在Mac上,您应该使用Xamarin.Mac调用MacOSAPI来构建UI,并做您应该做的事情。这并不奇怪,只是另一套供您学习和掌握的框架。@Lemx将人们指向Mono的WinForms或GTK#目前不是一个好建议。前者是不完整的,后者更适合Linux。当然,它们应该在某种程度上起作用。@AlexMarchant正如Lex Li指出的那样,通过使用可用的Mac API可以完全解决这个问题。奇怪的是,你期望Windows API在Mac上工作。那就是Windows。所以我很确定使用它会起作用,但是当用户按下一个按钮时,我会尝试获取关键信息,但我不知道怎么做,有什么想法吗?()所以我很确定使用它会起作用,但是当用户按下一个按钮时,我会尝试获取关键信息,但我不确定如何操作,有什么想法吗?()