Binding.UpdateSourceExceptionFilter 屬性

定義

取得或設定可用來提供自訂邏輯的處理常式,以處理繫結引擎在更新繫結來源值期間所遇到的例外狀況。 只有您已建立 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

屬性值

提供自訂邏輯以處理繫結引擎在更新繫結來源值期間所遇到之例外狀況的方法。

範例

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

UpdateSourceExceptionFilterCallback也可以傳回 null 、例外狀況本身或 ValidationError 。 如需詳細資訊,請參閱UpdateSourceExceptionFilterCallback

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

備註

ExceptionValidationRule是內建的驗證規則,會檢查系結來源屬性更新期間所擲回的例外狀況。 如果您已經與 Binding 物件相關聯 ExceptionValidationRule ,您可以使用這個屬性來設定處理常式,以提供自訂邏輯來處理這些例外狀況。 UpdateSourceExceptionFilter如果未在 上 Binding 指定 ,則系結引擎會 ValidationError 建立 ,但例外狀況為 ,並將它新增至 Validation.Errors 繫結項目目的集合。

適用於