Пример #1
0
        private void lbScreenItems_PreviewKeyDown(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.Enter)
            {
                var lv = sender as ListBox;
                ListBox_ChangeSelectedItem(lv);
            }
            else if (e.Key == Key.Delete)
            {
                lbScreenItems_DeleteSelected();
                e.Handled = true;
            }
            else if (e.Key == Key.Escape)
            {
                ScreenDefnGlobal.CopyPasteList.Clear();

                this.IsDragging         = false;
                this.DragItemIndex      = null;
                this.DragSectionHeader  = null;
                this.PopupWindow.IsOpen = false;
                this.StartPoint         = null;
            }
            else if (KeyboardExt.IsControlDown())
            {
                if (e.Key == Key.X)
                {
                    e.Handled = CutSelected();
                }
                else if (e.Key == Key.C)
                {
                    CopySelected();
                    e.Handled = true;
                }
                else if (e.Key == Key.V)
                {
                    DoPaste();
                    e.Handled = true;
                }

                // shift arrow down. Move the item down one slot. After the next item.
                else if ((e.Key == Key.Down) && (KeyboardExt.IsControlDown() == true))
                {
                    var moveModel = lbScreenItems.SelectedItem as IScreenItem;
                    if (moveModel != null)
                    {
                        MoveDown(moveModel);
                        lbScreenItems.FindFocusItem(moveModel);
                        e.Handled = true;
                    }
                }

                // shift arrow up. Move the item up one slot. Before the prev item.
                else if ((e.Key == Key.Up) && (KeyboardExt.IsControlDown() == true))
                {
                    var moveModel = lbScreenItems.SelectedItem as IScreenItem;
                    if (moveModel != null)
                    {
                        MoveUp(moveModel);
                        lbScreenItems.FindFocusItem(moveModel);
                        e.Handled = true;
                    }
                }
            }
        }