public void HandleShortcutKey(ProcessShortcutKeyEventArgs e) { var tab = Tabs[SelectedTabIndex]; var handler = tab as IShortcutKey; if (handler != null) { handler.ProcessShortcutKey(e); } }
private void Window_PreviewKeyDown(object sender, KeyEventArgs e) { ProcessShortcutKeyEventArgs keyEventArgs = null; if (e.Key == Key.W && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control) { keyEventArgs = new ProcessShortcutKeyEventArgs(ShortcutKey.Close); } else if (e.Key == Key.Delete) { keyEventArgs = new ProcessShortcutKeyEventArgs(ShortcutKey.Delete); } else if (e.Key == Key.Escape) { keyEventArgs = new ProcessShortcutKeyEventArgs(ShortcutKey.Exit); } else if (e.Key == Key.F && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control) { keyEventArgs = new ProcessShortcutKeyEventArgs(ShortcutKey.Find); } else if (e.Key == Key.N && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control) { keyEventArgs = new ProcessShortcutKeyEventArgs(ShortcutKey.New); } else if (e.Key == Key.F5) { keyEventArgs = new ProcessShortcutKeyEventArgs(ShortcutKey.Refresh); } else if (e.Key == Key.S && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control) { keyEventArgs = new ProcessShortcutKeyEventArgs(ShortcutKey.Save); } else if (e.Key == Key.Q && (Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control) { keyEventArgs = new ProcessShortcutKeyEventArgs(ShortcutKey.SaveAndClose); } if (keyEventArgs != null) { ViewModel.HandleShortcutKey(keyEventArgs); if (keyEventArgs.Handled) { e.Handled = true; } } }
public void ProcessShortcutKey(ProcessShortcutKeyEventArgs e) { switch (e.Key) { case ShortcutKey.Save: case ShortcutKey.SaveAndClose: SaveCommand.Execute(null); e.Handled = true; break; case ShortcutKey.Close: //case ShortcutKey.Exit: CancelCommand.Execute(null); e.Handled = true; break; //case ShortcutKey.Delete: // DeleteCommand.Execute(null); // e.Handled = true; // break; } }
public void ProcessShortcutKey(ProcessShortcutKeyEventArgs e) { if (e.Key == ShortcutKey.Refresh) { Refresh(); return; } if (TimesheetDetailViewModel != null) { TimesheetDetailViewModel.ProcessShortcutKey(e); } if (e.Handled) { return; } //switch (e.Key) //{ // case ShortcutKey.Save: // break; //} }