Aracılığıyla paylaş


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ğerinin güncelleştirmesi sırasında karşılaştığı özel durumları işlemek için özel mantık sağlayan bir yöntem.

Örnekler

Text Aşağıdakinin TextBox özelliği, türünde intbir kaynak özelliğe Age3 veri bağlıdır. ExceptionValidationRule Kaynak ö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 UpdateSourceExceptionFilterCallbackayarlama işleminin UpdateSourceExceptionFilter nasıl yapılacağını gösterilmektedir.


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 değerini ValidationErrorde döndürebilirnull. 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ştirmesi sırasında oluşturulan özel durumları denetleen yerleşik bir doğrulama kuralıdır. nesnesiyle Binding ilişkilendirdiysenizExceptionValidationRule, 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 durumu olan bir ValidationError oluşturur ve bunu ilişkili öğenin koleksiyonuna Validation.Errors ekler.Binding

Şunlara uygulanır