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;
            }
        }
Example #2
0
 static void FocusListViewInternal(ListView view)
 {
     bool focused = false;
     var item = view.SelectedItem as UIElement;
     if (item == null && view.SelectedItem != null)
         item = view.ItemContainerGenerator.ContainerFromItem(view.SelectedItem) as UIElement;
     if (item != null)
         focused = item.Focus();
     if (!focused)
         view.Focus();
 }