0

I tried to use @Groky`s solution, which many people have found as the best solution( It locates here How to automatically select all text on focus in WPF TextBox?)

using System;
using System.Collections.Generic;
........

namespace ModernUIApp1.Pages
{

public partial class BasicPage1 : UserControl
{


    public partial class App : Application
    {
        protected override void OnStartup(StartupEventArgs e)
        {
            // Select the text in a TextBox when it receives focus.
            EventManager.RegisterClassHandler(typeof(TextBox), TextBox.PreviewMouseLeftButtonDownEvent,
                new MouseButtonEventHandler(SelectivelyIgnoreMouseButton));
            EventManager.RegisterClassHandler(typeof(TextBox), TextBox.GotKeyboardFocusEvent,
                new RoutedEventHandler(SelectAllText));
            EventManager.RegisterClassHandler(typeof(TextBox), TextBox.MouseDoubleClickEvent,
                new RoutedEventHandler(SelectAllText));
            base.OnStartup(e);
        }

        void SelectivelyIgnoreMouseButton(object sender, MouseButtonEventArgs e)
        {
            // Find the TextBox
            DependencyObject parent = e.OriginalSource as UIElement;
            while (parent != null && !(parent is TextBox))
                parent = VisualTreeHelper.GetParent(parent);

            if (parent != null)
            {
                var textBox = (TextBox)parent;
                if (!textBox.IsKeyboardFocusWithin)
                {
                    // If the text box is not yet focused, give it the focus and
                    // stop further processing of this click event.
                    textBox.Focus();
                    e.Handled = true;
                }
            }
        }

        void SelectAllText(object sender, RoutedEventArgs e)
        {
            var textBox = e.OriginalSource as TextBox;
            if (textBox != null)
                textBox.SelectAll();
        }
    }
}

}

Unfortunately, nothing is happening. I even tried to add <TextBox x:Name="TextBox" .... in my xaml file, so could you help me please to find out where is a problem or offer another way to do select text.

Community
  • 1
  • 1
Rocketq
  • 5,423
  • 23
  • 75
  • 126

1 Answers1

2

You must put the App code in app.xaml.cs, not inside a UserControl.

Federico Berasategui
  • 43,562
  • 11
  • 100
  • 154