UpdateSourceExceptionFilterCallback Temsilci

Tanım

Bağlama kaynak değeri güncelleştirmesi sırasında oluşturulan özel durumları işleyen yöntemi temsil eder. Bu, ile ExceptionValidationRulekullanılmalıdır.

public delegate System::Object ^ UpdateSourceExceptionFilterCallback(System::Object ^ bindExpression, Exception ^ exception);
public delegate object UpdateSourceExceptionFilterCallback(object bindExpression, Exception exception);
type UpdateSourceExceptionFilterCallback = delegate of obj * Exception -> obj
Public Delegate Function UpdateSourceExceptionFilterCallback(bindExpression As Object, exception As Exception) As Object 

Parametreler

bindExpression
Object

Özel durumu olan nesne.

exception
Exception

Karşılaşılan özel durum.

Dönüş Değeri

Genellikle aşağıdakilerden biri olan bir nesne:

Değer Açıklama
null Özel durumları yoksaymak için. Varsayılan davranış (yoksa UpdateSourceExceptionFilterCallback), özel durumu olan bir ValidationError oluşturmak ve bunu ilişkili öğenin koleksiyonuna Errors eklemektir.
Herhangi bir nesne Bu nesneye ErrorContent ayarlanmış bir ValidationError nesne oluşturmak için.

ValidationError nesnesi, ilişkili öğenin koleksiyonuna eklenirErrors.

Nesne ValidationError veya MultiBindingExpression nesnesini olarak BindingInErrorayarlamak BindingExpression için. ValidationError nesnesi, ilişkili öğenin koleksiyonuna eklenirErrors.

Örnekler

Aşağıdakinin TextTextBox özelliği, türünde intbir kaynak özelliğe Age3 veri bağlıdır. 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ğlama seçeneğiniz vardır. Aşağıdaki örnekte, özelliğini kullanarak UpdateSourceExceptionFilter bir ayarlamak için nasıl kullanılacağı 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.";
}

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

Açıklamalar

nesnenizle Binding ilişkilendirdiysenizExceptionValidationRule, özel durumları işlemek için özel mantık sağlamak üzere bu geri çağırmayı ayarlamak üzere özelliğini kullanma UpdateSourceExceptionFilter seçeneğiniz vardır. Bağlama altyapısı bağlama kaynak değerini güncelleştirdiğinde herhangi bir özel durumla karşılaşıldığında bu geri çağırma çağrılır.

üzerinde belirtilmezseUpdateSourceExceptionFilter, bağlama altyapısı özel durumu içeren bir ValidationError oluşturur ve bunu ilişkili öğenin koleksiyonuna Validation.Errors ekler.Binding

Uzantı Metotları

GetMethodInfo(Delegate)

Belirtilen temsilci tarafından temsil edilen yöntemi temsil eden bir nesnesi alır.

Şunlara uygulanır

Ayrıca bkz.