有没有办法在uwp app中禁用RichEditBox控件上的键盘快捷键?我想禁用Ctrl-A,Ctrl-2(更改行间距),Ctrl-R(右对齐)等键组合。 RichEditBox是UserControl的一部分。
我尝试使用richEditBox的KeyDown事件,但仍然按Ctrl-A选择所有文本:
private void OnRichEditBoxKeyDown(object sender, KeyRoutedEventArgs e)
{
var ctrl = Window.Current.CoreWindow.GetKeyState(Windows.System.VirtualKey.Control);
if (ctrl.HasFlag(CoreVirtualKeyStates.Down))
{
if (e.Key == VirtualKey.A)
{
e.Handled = true;
}
}
}
如何在UWP App中禁用默认的ctrl键盘快捷键?我正在使用 Microsoft Windows [版本10.0.14393]。
答案 0 :(得分:2)
OnKeyDown
Richeditbox
个事件
以下是代码示例:
在代码背后
public class MyRichEditBox : RichEditBox
{
protected override void OnKeyDown(KeyRoutedEventArgs e)
{
var ctrl = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control);
if (ctrl.HasFlag(CoreVirtualKeyStates.Down))
{
//return; //if you want to totally disable crtl
if (e.Key == VirtualKey.A)
{
return;
}
}
base.OnKeyDown(e);
}
}
在XAML中
<local:MyRichEditBox/>