2

我正在尝试使用以下代码行添加RoutedEventHandler到所有TextBoxes直通代码:

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

上面的代码将处理程序绑定到 Window 上的所有表单控件,而不是单独的 TextBoxes。请问有人可以

  1. 解释为什么会这样
  2. 以及如何正确地做。

谢谢你。

4

1 回答 1

1

可能不完全是您所追求的,因为它仍会在每个 UIElement 上触发。但是,您可以执行以下操作以获得所需的“最终结果”。

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

        if (textBox == null)
            return;

        //what ever you wanted to do
    }
于 2012-07-02T23:10:29.100 回答