UpdateSourceExceptionFilterCallback Temsilci
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 int
bir 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. |