protected override void OnPreviewKeyDown(KeyEventArgs e) { base.OnPreviewKeyDown(e); if (e.Key == Key.Enter || e.Key == Key.Tab) { if (CommandOnKeyEnter != null) { var cmdParameter = new CommandParameterOnKeyDown(); cmdParameter.CommandParameter = CommandParameterOnKeyEnter; cmdParameter.Key = e.Key; if (CommandOnKeyEnter.CanExecute(cmdParameter)) { CommandOnKeyEnter.Execute(cmdParameter); if (cmdParameter.Handled) { return; } } } if (NextControlOnKeyTabEnter != null) { NextControlOnKeyTabEnter.Focus(); e.Handled = true; } } }
protected override void OnPreviewKeyDown(KeyEventArgs e) { base.OnPreviewKeyDown(e); if (e.Key == Key.Enter || (CommandOnKeyEnterIncludesTab && e.Key == Key.Tab)) { if (CommandOnKeyEnter != null) { e.Handled = true; var cmdParameter = new CommandParameterOnKeyDown(); cmdParameter.CommandParameter = CommandParameterOnKeyEnter; cmdParameter.Key = e.Key; if (CommandOnKeyEnter.CanExecute(cmdParameter)) { CommandOnKeyEnter.Execute(cmdParameter); if (cmdParameter.Handled) { return; } } } if (NextControlOnKeyTabEnter != null) { NextControlOnKeyTabEnter.Focus(); e.Handled = true; } } else if (InputType == TextBoxExInputType.OnlyCharacters) { if (e.Key == Key.Space) { e.Handled = true; return; } } }
private static void OnCommandKeyTabEnterPreviewKeyDow(object sender, KeyEventArgs e) { if (e.Key == Key.Enter || e.Key == Key.Tab) { var p = (FrameworkElement)((FrameworkElement)e.Source).GetValue(NextControlOnKeyTabEnterProperty); p?.Focus(); var cmd = (ICommand)((FrameworkElement)sender)?.GetValue(CommandOnKeyTabEnterProperty); var param = new CommandParameterOnKeyDown() { CommandParameter = ((FrameworkElement)sender).GetValue(CommandParameterOnKeyTabEnterProperty), Key = e.Key }; cmd?.Execute(param); e.Handled = true; } }
private static void OnPreviewKeyDow(object sender, KeyEventArgs e) { if (e.Key == Key.Escape) { var cmd = (ICommand)((FrameworkElement)sender)?.GetValue(CommandOnKeyEscProperty); var param = new CommandParameterOnKeyDown() { CommandParameter = ((FrameworkElement)sender).GetValue(CommandParameterOnKeyEscProperty), Key = e.Key }; cmd?.Execute(param); e.Handled = true; } else if (e.Key == Key.F1) { var cmd = (ICommand)((FrameworkElement)sender)?.GetValue(CommandOnKeyF1Property); var param = new CommandParameterOnKeyDown() { CommandParameter = ((FrameworkElement)sender).GetValue(CommandParameterOnKeyF1Property), Key = e.Key }; cmd?.Execute(param); e.Handled = true; } else if (e.Key == Key.F2) { var cmd = (ICommand)((FrameworkElement)sender)?.GetValue(CommandOnKeyF2Property); var param = new CommandParameterOnKeyDown() { CommandParameter = ((FrameworkElement)sender).GetValue(CommandParameterOnKeyF2Property), Key = e.Key }; cmd?.Execute(param); e.Handled = true; } else if (e.Key == Key.F3) { var cmd = (ICommand)((FrameworkElement)sender)?.GetValue(CommandOnKeyF3Property); var param = new CommandParameterOnKeyDown() { CommandParameter = ((FrameworkElement)sender).GetValue(CommandParameterOnKeyF3Property), Key = e.Key }; cmd?.Execute(param); e.Handled = true; } else if (e.Key == Key.F4) { var cmd = (ICommand)((FrameworkElement)sender)?.GetValue(CommandOnKeyF4Property); var param = new CommandParameterOnKeyDown() { CommandParameter = ((FrameworkElement)sender).GetValue(CommandParameterOnKeyF4Property), Key = e.Key }; cmd?.Execute(param); e.Handled = true; } else if (e.Key == Key.F5) { var cmd = (ICommand)((FrameworkElement)sender)?.GetValue(CommandOnKeyF5Property); var param = new CommandParameterOnKeyDown() { CommandParameter = ((FrameworkElement)sender).GetValue(CommandParameterOnKeyF5Property), Key = e.Key }; cmd?.Execute(param); e.Handled = true; } else if (e.Key == Key.F6) { var cmd = (ICommand)((FrameworkElement)sender)?.GetValue(CommandOnKeyF6Property); var param = new CommandParameterOnKeyDown() { CommandParameter = ((FrameworkElement)sender).GetValue(CommandParameterOnKeyF6Property), Key = e.Key }; cmd?.Execute(param); e.Handled = true; } else if (e.Key == Key.F7) { var cmd = (ICommand)((FrameworkElement)sender)?.GetValue(CommandOnKeyF7Property); var param = new CommandParameterOnKeyDown() { CommandParameter = ((FrameworkElement)sender).GetValue(CommandParameterOnKeyF7Property), Key = e.Key }; cmd?.Execute(param); e.Handled = true; } else if (e.Key == Key.F8) { var cmd = (ICommand)((FrameworkElement)sender)?.GetValue(CommandOnKeyF8Property); var param = new CommandParameterOnKeyDown() { CommandParameter = ((FrameworkElement)sender).GetValue(CommandParameterOnKeyF8Property), Key = e.Key }; cmd?.Execute(param); e.Handled = true; } else if (e.Key == Key.F9) { var cmd = (ICommand)((FrameworkElement)sender)?.GetValue(CommandOnKeyF9Property); var param = new CommandParameterOnKeyDown() { CommandParameter = ((FrameworkElement)sender).GetValue(CommandParameterOnKeyF9Property), Key = e.Key }; cmd?.Execute(param); e.Handled = true; } }