Binding.UpdateSourceExceptionFilter 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
會取得或設定一個處理器,讓你用來提供自訂邏輯,處理綁定引擎在更新綁定來源值時遇到的異常。 這只適用於你與綁定有關聯的 。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綁定元素的集合中。