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; } } } }