首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >uwp禁用Richeditbox键盘速记器

uwp禁用Richeditbox键盘速记器
EN

Stack Overflow用户
提问于 2017-07-18 14:31:08
回答 1查看 338关注 0票数 1

在uwp应用程序中,有办法禁用RichEditBox控件上的键盘快捷键吗?我想禁用Ctrl,Ctrl-2(改变行距),Ctrl(右对齐)等键组合。RichEditBox是UserControl的一部分。

我尝试使用KeyDown事件的richEditBox,但仍然Ctrl选择所有文本:

代码语言:javascript
复制
  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应用程序中禁用默认的ctrl键盘快捷键?我使用的是Microsoft版本10.0.14393。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-18 17:11:48

  1. OnKeyDown中重写Richeditbox事件
  2. 检查一下你的按键

这里是一个代码示例:

在代码后面

代码语言:javascript
复制
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中

代码语言:javascript
复制
<local:MyRichEditBox/>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45169753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档