protected override void OnKeyDown(KeyEventArgs e) { if (e.Key == Key.Enter) { if (e.KeyboardDevice.Modifiers == ModifierKeys.Shift) { OutlinerCommands.InsertBeforeCurrent.Execute(null, this); } else { OutlinerCommands.InsertAfterCurrent.Execute(null, this); } e.Handled = true; } if (e.Key == Key.F2) { OutlinerCommands.FocusEditor.Execute(null, this); //FocusEditorForSelectedRow(); e.Handled = true; } else if (e.Key == Key.Down) { found_selected = false; TreeListViewItem item = FindNextAfterSelected <TreeListViewItem>(this); if (item != null) { item.Focus(); } e.Handled = true; } else if (e.Key == Key.Up) { previousContainer = null; TreeListViewItem item = FindBeforeSelected <TreeListViewItem>(this); if (item != null) { item.Focus(); } e.Handled = true; } else if (e.Key == Key.Delete) { OutlinerCommands.DeleteCurrentRow.Execute(null, this); e.Handled = true; } else if (e.Key == Key.Tab && e.KeyboardDevice.Modifiers != ModifierKeys.Shift) { OutlinerCommands.IncIndent.Execute(null, this); e.Handled = true; } else if (e.Key == Key.Tab && e.KeyboardDevice.Modifiers == ModifierKeys.Shift) { OutlinerCommands.DecIndent.Execute(null, this); e.Handled = true; } }
internal void MakeNextOrPrevSelection() { found_selected = false; TreeListViewItem item = FindNextAfterSelected <TreeListViewItem>(this); if (item != null) { item.Focus(); return; } previousContainer = null; item = FindBeforeSelected <TreeListViewItem>(this); if (item != null) { item.Focus(); } }
private bool MoveFocusToPreviousContainer() { previousContainer = null; TreeListViewItem item = FindBeforeSelected <TreeListViewItem>(this); if (item != null) { item.Focus(); return(true); } return(false); }
private bool MoveFocusToNextContainer() { found_selected = false; TreeListViewItem item = FindNextAfterSelected <TreeListViewItem>(this); if (item != null) { item.Focus(); //item.IsSelected = true; return(true); } return(false); }
internal void MakeActive(OutlinerNote newNote, int focusColumnIdx, bool isActiveInlineEdit, EventHandler madeActive) { __OnMadeActive = madeActive; __ColumnIdxToFocus = focusColumnIdx; __ColumnToFocusIsInline = isActiveInlineEdit; ItemContainerGenerator itemContainerGenerator = ItemContainerGeneratorFor(newNote, true); if (itemContainerGenerator == null) { return; } if (itemContainerGenerator.Status != System.Windows.Controls.Primitives.GeneratorStatus.ContainersGenerated) { __NoteToMakeActive = newNote; itemContainerGenerator.StatusChanged += new EventHandler(itemContainerGenerator_StatusChanged); return; } TreeListViewItem ti = (itemContainerGenerator.ContainerFromItem(newNote) as TreeListViewItem); if (ti != null) { ti.Focus(); if (__ColumnIdxToFocus == -1) { MakeActiveDone(newNote, null); } else { CheckMainWindow(); MyEdit editor = ti.GetEditor(__MainWindow.GetViewColumnId(focusColumnIdx), focusColumnIdx, isActiveInlineEdit) as MyEdit; if (editor != null) { Keyboard.Focus(editor); MakeActiveDone(newNote, editor); } else { __NoteToMakeActive = newNote; __TviToMakeActive = ti; ti.LayoutUpdated += new EventHandler(ti_LayoutUpdated); } } } }
void itemContainerGenerator_StatusChanged(object sender, EventArgs e) { ItemContainerGenerator generator = sender as ItemContainerGenerator; if (generator == null) { return; } if (generator.Status != System.Windows.Controls.Primitives.GeneratorStatus.ContainersGenerated) { return; } generator.StatusChanged -= itemContainerGenerator_StatusChanged; TreeListViewItem ti = (generator.ContainerFromItem(__NoteToMakeActive) as TreeListViewItem); if (ti == null) { __NoteToMakeActive = null; } else { ti.Focus(); if (__ColumnIdxToFocus == -1) { MakeActiveDone(__NoteToMakeActive, null); __NoteToMakeActive = null; } else { MyEdit editor = ti.GetEditor(GetViewLastEditorColumnId(), GetLastEditorColumnId(), __ColumnToFocusIsInline) as MyEdit; if (editor != null) { Keyboard.Focus(editor); MakeActiveDone(__NoteToMakeActive, editor); __NoteToMakeActive = null; } else { __TviToMakeActive = ti; ti.LayoutUpdated += new EventHandler(ti_LayoutUpdated); } } } }