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 物件 若要將 BindingExpressionMultiBindingExpression 物件設定為 BindingInErrorValidationError 物件已加入至繫結項目的 Errors 集合。

範例

下列 TextTextBox 的 屬性是資料系結至 類型 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.";
}

如需完整的範例,請參閱 系結驗證範例

備註

如果您已經與 Binding 物件相關聯 ExceptionValidationRule ,您可以選擇使用 UpdateSourceExceptionFilter 屬性來設定此回呼,以提供自訂邏輯來處理例外狀況。 每當系結引擎更新系結來源值時,就會叫用此回呼。

UpdateSourceExceptionFilter如果未在 上 Binding 指定 ,系結引擎會 ValidationError 建立 ,但例外狀況為 ,並將它新增至 Validation.Errors 繫結項目目的集合。

擴充方法

GetMethodInfo(Delegate)

取得表示特定委派所代表之方法的物件。

適用於

另請參閱