以下代码片段是我的问题的简化版本。基本上,我试图在调用 updatesource 时捕获我的 setter 中发生的错误,并将其传播到下面显示的 catch 块。问题是,如果 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");
}
}