Question

I'm trying to add RoutedEventHandler to all the TextBoxes through code, using the following line of code:

this.AddHandler(TextBox.GotFocusEvent, new RoutedEventHandler(textBox_GotFocus));

The code above binds the handler to all the form control on the Window instead of TextBoxes alone. Please can someone

  1. explain why this happens
  2. and how to do it right.

Thank you.

Was it helpful?

Solution

Probably not exactly what you are after because it will still fire on every UIElement. But, you can do the following to get the "end result" you need.

    public void textBox_GotFocus(object sender, RoutedEventArgs e)
    {
        var textBox = e.Source as TextBox;

        if (textBox == null)
            return;

        //what ever you wanted to do
    }
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top