共用方式為


UpdateSourceExceptionFilterCallback 代理人

定義

代表處理在綁定原始值更新時拋出的例外的方法。 此必須與 ExceptionValidationRule. 一起使用。

public delegate System::Object ^ UpdateSourceExceptionFilterCallback(System::Object ^ bindExpression, Exception ^ exception);
public delegate object UpdateSourceExceptionFilterCallback(object bindExpression, Exception exception);
type UpdateSourceExceptionFilterCallback = delegate of obj * Exception -> obj
Public Delegate Function UpdateSourceExceptionFilterCallback(bindExpression As Object, exception As Exception) As Object 

參數

bindExpression
Object

唯一的例外是物體。

exception
Exception

遇到的例外。

傳回值

通常屬於以下之一的物件:

價值 描述
null 忽略任何例外。 預設行為(若無 UpdateSourceExceptionFilterCallback)是建立帶有例外的 , ValidationError 並將其加入 Errors 綁定元素的集合中。
任何物體 建立 ValidationError 一個物件,並用 ErrorContent 該物件的集合。

物件 ValidationError 會加入 Errors 綁定元素的集合中。

一個 ValidationError 物體 將 或 MultiBindingExpression 物件設BindingExpressionBindingInError。 物件 ValidationError 會加入 Errors 綁定元素的集合中。

範例

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.";
}

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

備註

如果你已經將 與 ExceptionValidationRule 物件 Binding 關聯,你可以選擇使用該 UpdateSourceExceptionFilter 屬性設定此回調,以提供處理例外的自訂邏輯。 當綁定引擎更新綁定來源值時,遇到任何例外時,都會呼叫這個回調。

若 未指定 BindingaUpdateSourceExceptionFilter,綁定引擎會建立帶有例外的 aValidationError,並將其加入Validation.Errors綁定元素的集合中。

擴充方法

名稱 Description
GetMethodInfo(Delegate)

取得一個代表指定代理所代表方法的物件。

適用於

另請參閱