private static void HandleItemLeftMouseUp(object sender, MouseButtonEventArgs eventArgs)
        {
            eventArgs.Handled = false;
            if (eventArgs.OriginalSource is TextBox)
            {
                ListBoxItem textBoxParentItem;
                ListBox     textBoxParentItemsControl;
                if (TextBoxFocusAttachedBehavior.TryFindAttachedElementsParentItem(
                        eventArgs.OriginalSource as DependencyObject,
                        out textBoxParentItem) &&
                    TextBoxFocusAttachedBehavior.TryFindAttachedElementsParentItemsControl(
                        eventArgs.OriginalSource as DependencyObject,
                        out textBoxParentItemsControl))
                {
                    textBoxParentItemsControl.SelectedItem = textBoxParentItem.Content;
                }

                return;
            }

            // Apply behavior when ListBoxItem is clicked anywhere else but Buttons, Checkboxes, etc
            if (eventArgs.OriginalSource is Border)
            {
                var     parentItem = sender as ListBoxItem;
                TextBox textBox    = TextBoxFocusAttachedBehavior.GetParentItemTextBox(parentItem);

                TextBoxFocusAttachedBehavior.ApplyBehaviors(textBox);
            }
        }
        private static void HandleFocusOnKeyboardNavigated(DependencyObject dependencyObject, DependencyPropertyChangedEventArgs dependencyPropertyChangedEventArgs)
        {
            if (dependencyObject is ItemsControl)
            {
                var     itemsControl      = dependencyObject as ItemsControl;
                TextBox parentItemTextBox = TextBoxFocusAttachedBehavior.GetParentItemTextBox(itemsControl.ItemContainerGenerator.ContainerFromItem(dependencyPropertyChangedEventArgs.NewValue));
                if (parentItemTextBox == null)
                {
                    return;
                }

                //TextBoxFocusAttachedBehavior.ApplyBehaviors(parentItemTextBox);
            }
        }