UpdateSourceExceptionFilterCallback 代理人
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
代表方法,這個方法會處理繫結來源值更新期間所擲回的例外狀況。 這必須搭配 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 物件 | 若要將 BindingExpression 或 MultiBindingExpression 物件設定為 BindingInError。 ValidationError 物件已加入至繫結項目的 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) |
取得表示特定委派所代表之方法的物件。 |