Binding.UpdateSourceExceptionFilter Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví obslužnou rutinu, kterou můžete použít k poskytnutí vlastní logiky pro zpracování výjimek, se kterými se modul vazeb setká během aktualizace zdrojové hodnoty vazby. To platí jenom v případě, že jste přidružovali ExceptionValidationRule vazbu.
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
Hodnota vlastnosti
Metoda, která poskytuje vlastní logiku pro zpracování výjimek, se kterými se při aktualizaci zdrojové hodnoty vazby setká binding engine.
Příklady
Vlastnost Text následující TextBox je data svázaná se zdrojovou vlastností Age3 , která je typu int. Kontroluje ExceptionValidationRule výjimky, které jsou vyvolány během aktualizace zdrojové vlastnosti (například když uživatel zadá hodnotu, která se nedá převést na celé číslo).
<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>
Můžete zadat vlastní logiku pro zpracování těchto výjimek. Následující příklad ukazuje, jak použít UpdateSourceExceptionFilter vlastnost k nastavení UpdateSourceExceptionFilterCallback.
BindingExpression myBindingExpression = textBox3.GetBindingExpression(TextBox.TextProperty);
Binding myBinding = myBindingExpression.ParentBinding;
myBinding.UpdateSourceExceptionFilter = new UpdateSourceExceptionFilterCallback(ReturnExceptionHandler);
myBindingExpression.UpdateSource();
Následuje příklad implementace UpdateSourceExceptionFilterCallback.
object ReturnExceptionHandler(object bindingExpression, Exception exception)
{
return "This is from the UpdateSourceExceptionFilterCallBack.";
}
Může UpdateSourceExceptionFilterCallback také vrátit null, samotná výjimka nebo ValidationError. Další informace najdete na webu UpdateSourceExceptionFilterCallback.
Kompletní ukázku najdete v části Ukázka ověření vazby.
Poznámky
Toto ExceptionValidationRule je integrované ověřovací pravidlo, které kontroluje výjimky vyvolané během aktualizace vlastnosti zdroje vazby. Pokud jste k objektu Binding přidružíteExceptionValidationRule, můžete pomocí této vlastnosti nastavit obslužnou rutinu, která poskytuje vlastní logiku pro zpracování těchto výjimek. UpdateSourceExceptionFilter Pokud není zadán v vazbu Bindingmodul vytvoří ValidationError s výjimkou a přidá ho do Validation.Errors kolekce vázaného prvku.