2

RoutedEventHandler次のコード行を使用して、すべてのTextBoxesスルー コードに追加しようとしています。

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

上記のコードは、ハンドラーを TextBox だけではなく、ウィンドウ上のすべてのフォーム コントロールにバインドします。誰かお願いします

  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 に答える