2016-12-22 5 views
0

Ich habe ein Textblock-Steuerelement verwenden, um Fehler wie folgt anzuzeigen.Validation.HasError funktioniert nicht in Bindung

<TextBlock Text="{Binding ElementName=txtPassword, Path=(Validation.Errors)[0].ErrorContent}" 
       Visibility="{Binding ElementName=txtPassword,Path=Validation.HasError,Converter={StaticResource BoolToVisibilityConverter}}" 
       Foreground="Red" Grid.Column="1" Grid.Row="3" HorizontalAlignment="Left" /> 

Bindung mit Text-Eigenschaft funktioniert gut, aber Bindung funktioniert nicht mit Sichtbarkeitseigenschaft. Ich erhalte einen Fehler im Ausgabefenster.

BindingExpression-Pfadfehler: 'Validierungseigenschaft nicht gefunden auf' Objekt '' 'PasswordBox' (Name = 'txtPassword') '. BindingExpression: Pfad = Validierung.HasError; DataItem = 'PasswordBox' (Name = 'txtPassword'); Zielelement ist 'TextBlock' (Name = ''); Zieleigenschaft ist 'Sichtbarkeit' (Typ 'Sichtbarkeit')

+0

bool? a = txtLoging.GetValue (Validierung.HasErrorProperty) als bool? ; Dieser Code arbeitet im Code dahinter. – Rudra

+0

dein xaml funktioniert bei mir, bitte aktualisiere deine frage mit einem code-behind – lena

Antwort

0

Es gab einen Fehler in meinem Code.

Visibility="{Binding ElementName=txtPassword,Path=Validation.HasError,Converter={StaticResource BoolToVisibilityConverter}}" 

Above Code sollte wie unten sein.

Visibility="{Binding ElementName=txtPassword,Path=(Validation.HasError),Converter={StaticResource BoolToVisibilityConverter}}" 

Da Validation.HasError ist eine angefügte Eigenschaft und wenn wir eine angefügte Eigenschaft sind verbindlich sollte es mit abgedeckt werden().

Verwandte Themen