Пример #1
0
        private void DoCommand(ListBoxItem item)
        {
            Debug.WriteLine("DoCommand({0})", item.Content, 0);
            CommandKey ck = item.Resources["Cmd"] as CommandKey;

            if (ck != null)
            {
                SlideShowWindow owner = Owner as SlideShowWindow;
                if (owner != null)
                {
                    owner.KeyCommand((Key)ck.KbKey);
                }
            }

            Close();
        }
Пример #2
0
        protected override void OnKeyDown(KeyEventArgs e)
        {
            switch (e.Key)
            {
            case Key.Escape:
                Close();
                break;

            // If these made it here, the ListBox doesn't have focus
            case Key.Up:
            case Key.Down:
            case Key.Right:
            case Key.Left:
                ((ListBoxItem)fListBox.Items[0]).Focus();
                e.Handled = true;
                break;

            case Key.Enter:
                if (fListBox.SelectedItems.Count > 0)
                {
                    ListBoxItem item = fListBox.SelectedItems[0] as ListBoxItem;
                    if (item != null)
                    {
                        DoCommand(item);
                    }
                }
                e.Handled = true;
                break;

            default:
            {
                SlideShowWindow owner = Owner as SlideShowWindow;
                if (owner != null)
                {
                    if (owner.KeyCommand(e.Key))
                    {
                        e.Handled = true;
                        Close();
                    }
                }
            }
                base.OnKeyDown(e);
                break;
            }
        }