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, které modul vazeb narazí během aktualizace hodnoty zdroje vazby. To platí jenom v případě, že jste k vazbě přidružovali ExceptionValidationRule .
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, ke kterým dojde v modulu vazeb během aktualizace hodnoty zdroje vazby.
Příklady
Následující Text vlastnost TextBox je vázaná na zdrojovou vlastnost Age3
, která je typu int
. Kontroluje ExceptionValidationRule výjimky, které jsou vyvolána během aktualizace vlastnosti zdroje (například když uživatel zadá hodnotu, kterou nelze 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>
Pro zpracování těchto výjimek můžete zadat vlastní logiku. Následující příklad ukazuje, jak použít UpdateSourceExceptionFilter vlastnost k nastavení objektu UpdateSourceExceptionFilterCallback.
BindingExpression myBindingExpression = textBox3.GetBindingExpression(TextBox.TextProperty);
Binding myBinding = myBindingExpression.ParentBinding;
myBinding.UpdateSourceExceptionFilter = new UpdateSourceExceptionFilterCallback(ReturnExceptionHandler);
myBindingExpression.UpdateSource();
Následuje příklad implementace objektu UpdateSourceExceptionFilterCallback.
object ReturnExceptionHandler(object bindingExpression, Exception exception)
{
return "This is from the UpdateSourceExceptionFilterCallBack.";
}
Může UpdateSourceExceptionFilterCallback také vrátit null
, samotnou výjimku nebo ValidationError. Další informace naleznete v tématu UpdateSourceExceptionFilterCallback.
Kompletní ukázku najdete v tématu Ukázka ověření vazby.
Poznámky
Je ExceptionValidationRule integrované ověřovací pravidlo, které kontroluje výjimky vyvolané během aktualizace vlastnosti zdroje vazby. Pokud jste přidružovali objekt k Binding objektu ExceptionValidationRule , můžete tuto vlastnost použít k nastavení obslužné rutiny pro poskytnutí vlastní logiky pro zpracování těchto výjimek. UpdateSourceExceptionFilter Pokud není zadán v objektu Binding, modul vazeb vytvoří ValidationError objekt s výjimkou a přidá ho do Validation.Errors kolekce vázaného elementu.