Dot-Net

System.Windows.Input.Key 列舉中沒有 Equals 鍵的條目?

  • June 1, 2022

我正在嘗試InputGesture在 a 上設置一個RoutedUICommand,將其連接起來以在使用者按下Ctrl + =. 我正在使用一個對象,但在列舉KeyGesture中看不到等號(’=’)鍵的條目。System.Windows.Input.Key

我期待的是能夠做到以下幾點:

ZoomIn = new RoutedUICommand("Zoom In", "ZoomIn", typeof(Window),
   new InputGestureCollection { 
       new KeyGesture(Key.Equals, ModifierKeys.Control) 
   });

誰能指出我正確的方向,好嗎?

正如 ChrisF 所指出的,我需要稍微動動一下我的大腦。對於它的價值,處理KeyDown事件時生成的值是Key.OemPlus.

更新:

這樣做的一個後果是,如果你和我做同樣的事情並且你要在菜單中使用命令,你可能會想要使用重載的建構子,因為KeyGesture它需要displayString. 例如:

new KeyGesture(Key.Equals, ModifierKeys.Control, "Ctrl+=")

否則,您會看到鍵盤快捷鍵顯示為(在我的情況下)“Ctrl+OemPlus”,這並不完全可取。誠然,以上仍然不是很好,但它比“OemPlus”要好。

引用自:https://stackoverflow.com/questions/5170800