Exemplo n.º 1
0
        private void SetNextFocusedChip(object senderObject, Key pressedKey)
        {
            var              element           = FocusManager.GetFocusedElement(FocusManager.GetFocusScope(Application.Current.MainWindow));
            var              fe                = (element as FrameworkElement).DataContext as WpfApp1.AddChipTemplate;
            bool             isAddChipTemplate = fe != null;
            IList <UserCase> chipsList         = _chipsItem.Items.Cast <UserCase>().Take(this.SelectedItems.Count - 1).ToList();
            ContentPresenter cp                = null;

            if (isAddChipTemplate && pressedKey == Key.Left)
            {
                TextBox tb = element as TextBox;
                if (string.IsNullOrEmpty(tb.Text))
                {
                    cp = ((_chipsItem.ItemContainerGenerator.ContainerFromIndex(_chipsItem.Items.Count - 2))) as ContentPresenter;
                }
            }

            if (cp != null)
            {
                WKChip nextFocusedChip = (VisualTreeHelper.GetChild(cp, 0)) as WKChip;
                if (nextFocusedChip != null)
                {
                    nextFocusedChip.Focus();
                }
            }
        }
Exemplo n.º 2
0
        private void ChipItem_MouseLeftButtonDown(object sender, RoutedEventArgs e)
        {
            WKChip chip = sender as WKChip;

            chip.Focus();
            Console.WriteLine("Focused element: " + ((WpfApp1.User)((System.Windows.Controls.ContentControl)(FocusManager.GetFocusedElement(FocusManager.GetFocusScope(this)))).Content).Name.ToString());
        }