if ((Keyboard.Modifiers & ModifierKeys.Alt) == ModifierKeys.Alt) // Is Alt key pressed
{
if (Keyboard.IsKeyDown(Key.S) && Keyboard.IsKeyDown(Key.C))
{
// do something here
}
}
private void UIElement_OnPreviewKeyDown(object sender, KeyEventArgs e)
{
if (Keyboard.Modifiers == ModifierKeys.Alt && Keyboard.IsKeyDown(Key.S)
&& Keyboard.IsKeyDown(Key.C))
{
//if you want, you can fire event here
}
}
6条答案
按热度按时间af7jpaap1#
使用
KeyDown
事件:gk7wooem2#
**编辑:**修改代码。不能同时使用
Gesture
和Key
属性。最后声明的属性将用作键,Gesture
属性中指定的键将被忽略。下面的代码只能使用2个ModifierKeys,而不是2个Keys:
要实现2个键和一个
ModifierKey
的组合键,下面的文章看起来很有用:KeyGesture with Multiple Keys
nwlls2ji3#
XAML:
后面的代码:
qlckcl4x4#
如果你想用这个组合来绑定一个动作,
看到这个msdn link
irtuqstp5#
你可以使用下面的代码来检测,
nr9pn0ug6#
如果目的是允许用户使用控制键输入一系列字符,就像VisualStudio中的注解/取消注解宏一样,那么您可以这样做(这是非常粗略的,只是为了给予您了解它是如何工作的)
添加一个自定义控件,它可以在窗口中查找按键,还可以保存要查看的手势集合。
然后,这可以与下面的xaml一起使用
这里有一个Debug.WriteLine来显示手势何时被触发,以防你想在不设置命令的情况下进行测试。