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ğ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 intbir kaynak özelliğe Age3 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 ValidationErrordeğerini de 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ştirilerek oluşturulan özel durumları denetleyebilen 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 durum içeren bir ValidationError oluşturur ve bunu Validation.Errors ilişkili öğenin koleksiyonuna ekler.Binding

Şunlara uygulanır