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, 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.

Platí pro