共用方式為


Binding.UpdateSourceExceptionFilter 屬性

定義

會取得或設定一個處理器,讓你用來提供自訂邏輯,處理綁定引擎在更新綁定來源值時遇到的異常。 這只適用於你與綁定有關聯的 。ExceptionValidationRule

public:
 property System::Windows::Data::UpdateSourceExceptionFilterCallback ^ UpdateSourceExceptionFilter { System::Windows::Data::UpdateSourceExceptionFilterCallback ^ get(); void set(System::Windows::Data::UpdateSourceExceptionFilterCallback ^ value); };
public System.Windows.Data.UpdateSourceExceptionFilterCallback UpdateSourceExceptionFilter { get; set; }
member this.UpdateSourceExceptionFilter : System.Windows.Data.UpdateSourceExceptionFilterCallback with get, set
Public Property UpdateSourceExceptionFilter As UpdateSourceExceptionFilterCallback

屬性值

一種提供自訂邏輯的方法,用於處理綁定引擎在更新綁定來源值時遇到的異常。

範例

Text以下TextBox屬性的資料綁定於一個類型為 int的來源屬性Age3。 在 ExceptionValidationRule 更新原始屬性時,會檢查是否會拋出異常(例如使用者輸入無法轉換為整數的值)。

<TextBox Name="textBox3" Width="50" FontSize="15"
         Grid.Row="4" Grid.Column="1" Margin="2"
         Validation.ErrorTemplate="{StaticResource validationTemplate}"
         Style="{StaticResource textBoxInError}">
  <TextBox.Text>
    <Binding Path="Age3" Source="{StaticResource ods}"
             UpdateSourceTrigger="PropertyChanged">
      <Binding.ValidationRules>
        <ExceptionValidationRule/>
      </Binding.ValidationRules>
    </Binding>
  </TextBox.Text>
</TextBox>

你可以提供自訂邏輯來處理這些例外。 以下範例說明如何利用該UpdateSourceExceptionFilter屬性設定 。UpdateSourceExceptionFilterCallback


BindingExpression myBindingExpression = textBox3.GetBindingExpression(TextBox.TextProperty);
Binding myBinding = myBindingExpression.ParentBinding;
myBinding.UpdateSourceExceptionFilter = new UpdateSourceExceptionFilterCallback(ReturnExceptionHandler);
myBindingExpression.UpdateSource();

以下是一個實作範例 UpdateSourceExceptionFilterCallback

object ReturnExceptionHandler(object bindingExpression, Exception exception)
{
    return "This is from the UpdateSourceExceptionFilterCallBack.";
}

UpdateSourceExceptionFilterCallback 可返回 null、例外本身或 ValidationError。 如需詳細資訊,請參閱UpdateSourceExceptionFilterCallback

完整樣本請參見 結合驗證樣本

備註

這是 ExceptionValidationRule 一條內建的驗證規則,用來檢查在綁定原始碼屬性更新時拋出的異常。 如果你已經將 與 ExceptionValidationRule 物件 Binding 關聯,可以使用這個屬性設定處理程序,提供處理這些例外的自訂邏輯。 若 未指定 BindingaUpdateSourceExceptionFilter,綁定引擎會建立帶有例外的 aValidationError,並將其加入Validation.Errors綁定元素的集合中。

適用於