Binding.UpdateSourceExceptionFilter Özellik

Tanım

Bağlama altyapısının bağlama kaynak değerinin güncelleştirmesi sırasında karşılaştığı özel durumları işlemek için özel mantık sağlamak için kullanabileceğiniz bir işleyici alır veya ayarlar. Bu yalnızca bağlamanızla ilişkilendirdiğiniz durumlarda ExceptionValidationRule geçerlidir.

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

Özellik Değeri

Bağlama altyapısının bağlama kaynak değerini güncelleştirme sırasında karşılaştığı özel durumları işlemek için özel mantık sağlayan bir yöntem.

Örnekler

Aşağıdakinin TextTextBox özelliği, türünde Age3bir kaynak özelliğe int bağlı verilerdir. Kaynak ExceptionValidationRule özelliğin güncelleştirilmesi sırasında oluşturulan özel durumları denetler (örneğin, kullanıcı tamsayıya dönüştürülemeyen bir değer girdiğinde).

<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>

Bu özel durumları işlemek için özel mantık sağlayabilirsiniz. Aşağıdaki örnekte özelliğini kullanarak bir ayarlama işleminin UpdateSourceExceptionFilter nasıl yapılacağını gösterilmektedir UpdateSourceExceptionFilterCallback.


BindingExpression myBindingExpression = textBox3.GetBindingExpression(TextBox.TextProperty);
Binding myBinding = myBindingExpression.ParentBinding;
myBinding.UpdateSourceExceptionFilter = new UpdateSourceExceptionFilterCallback(ReturnExceptionHandler);
myBindingExpression.UpdateSource();

Aşağıda örnek bir uygulaması verilmiştir UpdateSourceExceptionFilterCallback.

object ReturnExceptionHandler(object bindingExpression, Exception exception)
{
    return "This is from the UpdateSourceExceptionFilterCallBack.";
}

, UpdateSourceExceptionFilterCallback özel durumun kendisini veya bir nulldeğerini de döndürebilirValidationError. Daha fazla bilgi için bkz. UpdateSourceExceptionFilterCallback.

Tam örnek için bkz . Bağlama Doğrulama Örneği.

Açıklamalar

, ExceptionValidationRule bağlama kaynak özelliğinin güncelleştirilerek oluşturulan özel durumları denetleyebilen yerleşik bir doğrulama kuralıdır. nesnesiyle ExceptionValidationRule ilişkilendirdiysenizBinding, bu özel durumları işlemek için özel mantık sağlayacak bir işleyici ayarlamak için bu özelliği kullanabilirsiniz. üzerinde belirtilmezseUpdateSourceExceptionFilter, bağlama altyapısı özel durum içeren bir Binding oluşturur ve bunu ValidationError ilişkili öğenin koleksiyonuna ekler.Validation.Errors

Şunlara uygulanır