3

イベントを処理済みとしてマークしようとしていますが、そうしようとすると例外がスローされます。

私は次の関数を持っています:のLostFocusイベントで呼び出されTextBoxます:

private void TextBox_LostFocus(object sender, RoutedEventArgs e)
{
   // ...
   // do something
   // ...

   e.Handled = true;
}

e.Handled = trueただし、実行されるとすぐに次の例外が発生します。

タイプ'System.InvalidOperationException'の未処理の例外がPresentationCore.dllで発生しました

追加情報:すべてのRoutedEventArgsには、null以外のRoutedEventが関連付けられている必要があります。

関数内の他のコードの前に行を移動しようとしましe.Handledたが、それは役に立ちません。

例外が発生するのはなぜですか?また、考えられる回避策は何ですか?

4

1 に答える 1

2

理解した。TextBox_LostFocusイベントパラメータがであるアプリケーションの他の場所から呼び出されていましたnull

したがって、への一部の関数呼び出しではTextBox_LostFocuse.Handled(nullであったため)機能しませんでしeたが、他のいくつかのシナリオ(フレームワークによって実際に呼び出された場合)では機能しました。

于 2012-11-18T15:12:17.467 に答える