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 物體 | 將 或 MultiBindingExpression 物件設BindingExpression為 BindingInError。 物件 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) |
取得一個代表指定代理所代表方法的物件。 |