コード例 #1
0
        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;
            }
        }
コード例 #2
0
ファイル: ExListView.cs プロジェクト: m13253/xwt
		internal void FocusItem(ListViewItem item)
		{
			if (item != null) {
				focusedItem = item;
				if (!item.IsFocused)
					item.Focus ();
			}
		}
コード例 #3
0
        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;
            }
        }