private void tbxName_PreviewKeyUp(object sender, KeyEventArgs e) { ICountCollection countSource = (ICountCollection)ItemsSource; IRemoveAtCollection removeSource = (IRemoveAtCollection)ItemsSource; if (e.Key == SeparatorKey && !String.IsNullOrEmpty(tbxName.Text)) { RaiseEvent(new CreateItemEventArgs(CreateItemEvent, this, tbxName.Text)); //ViewModel.Items.Add(new CompletionItem { Name = textBox.Text }); tbxName.Text = String.Empty; } else if (e.Key == Key.Back && String.IsNullOrEmpty(tbxName.Text) && countSource.Count > 0) { removeSource.RemoveAt(countSource.Count - 1); } else if (e.Key == Key.Left && tbxName.CaretIndex == 0) { lvwItems.Focus(); lvwItems.SelectedIndex = countSource.Count - 1; UIListViewItem listViewItem = (UIListViewItem)lvwItems.ItemContainerGenerator.ContainerFromIndex(lvwItems.SelectedIndex); listViewItem.Focus(); e.Handled = true; } }
internal void FocusItem(ListViewItem item) { if (item != null) { focusedItem = item; if (!item.IsFocused) item.Focus (); } }
private void Window_KeyDown(object sender, KeyEventArgs e) { switch (e.Key) { case Key.Enter: EnterKeyHanlder(); break; case Key.Back: ChangeDirectory(".."); break; case Key.Left: if (leftDirectory.SelectedItem != null) { ListViewItem item = leftDirectory.ItemContainerGenerator.ContainerFromIndex(leftDirectory.SelectedIndex) as ListViewItem; item.Focus(); } else { ListViewItem item = leftDirectory.ItemContainerGenerator.ContainerFromIndex(0) as ListViewItem; item.Focus(); } break; case Key.Right: if (rightDirectory.SelectedItem != null) { ListViewItem item = rightDirectory.ItemContainerGenerator.ContainerFromIndex(rightDirectory.SelectedIndex) as ListViewItem; item.Focus(); } else { ListViewItem item = rightDirectory.ItemContainerGenerator.ContainerFromIndex(0) as ListViewItem; item.Focus(); } break; case Key.F1: ShowHelp(); break; case Key.F2: CopyItem(); break; case Key.F3: MoveItem(); break; case Key.F4: DeleteItem(); break; case Key.F5: RefreshDirectiories(); break; case Key.F6: RenameItem(); break; case Key.F7: CreateFileOrDirectory("Directory"); break; case Key.F8: CreateFileOrDirectory("File"); break; case Key.F9: if (isFTP) { return; } ShowDetails(); break; case Key.Escape: EscapeKeyHanlder(); break; case Key.Q: string panel = "Активна: "; if (leftDirectory.SelectedItem != null) { panel += "[L]"; } if (rightDirectory.SelectedItem != null) { panel += "[P]"; } if (activePanel == -1) { panel += "ЛЕВАЯ"; } if (activePanel == 1) { panel += "ПРАВАЯ"; } MessageBox.Show(panel); break; } }