UpdateSourceExceptionFilterCallback Delegált
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
A kötés forrásértékének frissítése során megjelenő kivételeket kezelő metódust jelöli. Ezt a ExceptionValidationRule.
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
Paraméterek
- bindExpression
- Object
Az objektum kivétellel.
- exception
- Exception
A kivétel történt.
Visszatérési érték
Egy objektum, amely általában az alábbiak egyike:
| Érték | Leírás |
|---|---|
null | A kivételek figyelmen kívül hagyása. Az alapértelmezett viselkedés (ha nincs UpdateSourceExceptionFilterCallback) egy kivétellel történő létrehozása ValidationError és a kötött elem gyűjteményéhez való hozzáadása Errors . |
| Bármely objektum | Objektum létrehozása ValidationError az ErrorContent adott objektumhoz beállított beállítással.
A ValidationError rendszer hozzáadja Errors az objektumot a kötött elem gyűjteményéhez. |
| Objektum ValidationError | Az objektum vagy BindingExpression az MultiBindingExpression objektum beállítása a BindingInErrorkövetkezőként: . A ValidationError rendszer hozzáadja Errors az objektumot a kötött elem gyűjteményéhez. |
Példák
Az Text alábbiak TextBox tulajdonsága egy olyan forrástulajdonsághoz Age3 van kötve, amely típus int. A ExceptionValidationRule forrástulajdonság frissítése során megjelenő kivételek ellenőrzése (például amikor a felhasználó olyan értéket ad meg, amely nem konvertálható egész számmá).
<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>
A kivételek kezeléséhez egyéni logikát is megadhat. Az alábbi példa bemutatja, hogyan állíthatja be UpdateSourceExceptionFiltera UpdateSourceExceptionFilterCallback tulajdonságot:
BindingExpression myBindingExpression = textBox3.GetBindingExpression(TextBox.TextProperty);
Binding myBinding = myBindingExpression.ParentBinding;
myBinding.UpdateSourceExceptionFilter = new UpdateSourceExceptionFilterCallback(ReturnExceptionHandler);
myBindingExpression.UpdateSource();
Az alábbiakban egy példa egy példa implementálására UpdateSourceExceptionFilterCallback:
object ReturnExceptionHandler(object bindingExpression, Exception exception)
{
return "This is from the UpdateSourceExceptionFilterCallBack.";
}
A teljes mintát a Binding Validation Sample című témakörben talál.
Megjegyzések
Ha társította az ExceptionValidationRule objektumot, Binding a tulajdonság használatával beállíthatja ezt a UpdateSourceExceptionFilter visszahívást, hogy egyéni logikát biztosítson a kivételek kezeléséhez. Ezt a visszahívást akkor hívja meg a rendszer, ha kivétel történik, amikor a kötési motor frissíti a kötés forrásértékét.
UpdateSourceExceptionFilter Ha nincs megadva Bindinga kötési motor, kivétellel létrehoz egy ValidationError elemet, és hozzáadja a Validation.Errors kötött elem gyűjteményéhez.
Bővítő metódusok
| Name | Description |
|---|---|
| GetMethodInfo(Delegate) |
Lekéri a megadott meghatalmazott által képviselt metódust képviselő objektumot. |