次のコードスニペットは、私の問題の簡略版です。基本的に、updatesourceが呼び出されたときにセッターで発生するエラーをキャッチし、それを以下に示すキャッチブロックまで伝播しようとしています。問題は、updatesourceの下の呼び出しスタックで例外が発生した場合、BindingExpression.UpdateSource()がそのエラーをキャッチして処理しているように見えることです。例外を取得して、catchステートメントに戻すことはできません。この動作を無効にすることはできますか?
BindingExpression be = textBox.GetBindingExpression(TextBox.TextProperty);
try
{
be.UpdateSource();
}
catch (Exception ex)
{
MessageBox.Show("ex.Message");
}
////////////////////////////////////////////////// ////////////////
public string MyValue
{ get {return _value;}
set {
if(value > 10)
throw new Exception("Out of Range");
}
}