public void HandleShortcutKey(ProcessShortcutKeyEventArgs e)
        {
            var tab = Tabs[SelectedTabIndex];

            var handler = tab as IShortcutKey;

            if (handler != null)
            {
                handler.ProcessShortcutKey(e);
            }
        }
Ejemplo n.º 2
0
        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;
            //}
        }