2017-07-18 3 views
0

Gibt es eine Möglichkeit zum Deaktivieren, Tastaturkürzel auf dem RichEditBox-Steuerelement in uwp App? Ich möchte die Tastenkombinationen Strg-A, Strg-2 (Zeilenabstand ändern), Strg-R (Rechtsbündig) usw. deaktivieren. RichEditBox ist ein Teil von UserControl.uwp Deaktivieren Richeditbox Tastatur Shorcuts

Ich versuchte KeyDown-Ereignis des richEditBox zu verwenden, aber immer noch Strg-A Alle wählen Text:

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;      
      } 
     }   
    } 

Wie kann ich Standard ctrl Tastaturkürzel in UWP App deaktivieren? Ich benutze Microsoft Windows [Version 10.0.14393].

Antwort

1
  1. Aufschalten OnKeyDown Ereignis in Richeditbox
  2. prüfen Ihre Tastendruck

Hier ist ein Codebeispiel:

In-Code Hinter

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); 
    } 
} 

In XAML

<local:MyRichEditBox/> 
+0

Vielen Dank. Das löst mein Problem. – user3506220

Verwandte Themen