2017-06-21 114 views
0

我想檢測用戶按下什麼鍵,通常我可以使用'System.Windows.Input'參考,但是當我嘗試引用它時,有沒有它的庫。Visual Studio for Mac System.Windows.Input參考

enter image description here

有沒有辦法,我丟失或者這只是不支持在Visual Studio中的Mac版的東西嗎?

感謝 亞歷克斯

回答

1

其實,System.Windows.Input命名空間的很大一部分位於WindowsBase
但它沒有多大幫助,因爲您正在尋找的Keyboard類在PresentationCore程序集內,它是WPF的一部分,不是(且,我想永遠不會)在Mono上受支持。
得到it唯一可行的方法是從源代碼中構建一個單元的part,這是從未發佈的。不過,你可以使用System.Windows.Forms

+0

因此,我很確定使用這個工作,但是我試圖獲得關鍵信息,當用戶按下一個,但我不知道如何這樣做,任何想法? (http://imgur.com/a/QoBhz) –

3

你是對的,這是不可能的(甚至不可能合乎邏輯)。

Visual Studio for Mac不適用於Windows的開發軟件,並且名稱空間「Windows」中幾乎沒有可用的內容。正如我所說,它不應該是預期的 - 例如在你的情況下,Windows和Mac的鍵盤並不是100%相同的,所以即使是一些關鍵的枚舉也是完全不可能的。

根據您使用的項目類型(Mac應用程序,iOS應用程序,Android應用程序,Xamarin表單應用程序),您必須找到其他API。

沒有人曾經讓一個用戶界面套件在另一個上工作。他們只是不同。只能有像Xamarin表單這樣的元接口,它只能將常見的東西帶到任何地方,以便將它們翻譯成每個本地用戶界面。

+0

我很驚訝,當開發Visual Studio for Mac時,他們沒有製作支持按鍵輸入的圖書館,這似乎有點奇怪你不覺得嗎? –

+0

他們確實不止一個。唯一缺少的是WPF相關的(除了Windows之外,你無法在任何地方使用WPF)。對於任何桌面GUI應用程序,您可以使用'System.Windows.Forms'或'Gtk#'(http://imgur.com/a/1jIOO)來獲得相同的功能。 – Lemx

+0

@AlexMarchant所有操作系統都有用於按鍵輸入的本機API。但是,在Mac上,您應該使用Xamarin.Mac調用macOS API來構建用戶界面,並執行您應該做的任何操作。這並不奇怪,只是你學習和掌握的另一套框架。 –