Sdílet prostřednictvím


Binding.UpdateSourceExceptionFilter Vlastnost

Definice

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.

Platí pro