none
Textbox Validation RRS feed

  • Allgemeine Diskussion

  • Hallo.

    Ich habe einen sehr komischen Effekt. Viele meiner TextBoxen haben Validierungen. Welche eigentlich alle einwandfrei funktionieren.

    Aber bei 2-3 Fenster schaut die Validierung der TextBox aus wie in meinen Bild. Obwohl es eigentlich gar keinen Validierungsfehler nicht mehr haben darf.

    Habt ihr eine Idee an was das liegen kann?

    Normal:

    Fehler:

    MFG Pat

    Donnerstag, 2. Juli 2015 11:58

Alle Antworten

  • Hallo PAT,

    ich nehme an, die hellblaue Line ist nicht relevant, du möchtest, daß der rote Rahmen verschwindet? Du schreibst nicht, wie du die Validierung implementiert hast. Könnte es sein, daß nach Herstellung eines validen TextBox-Inhalts kein PropertyChanged-Ereignis ausgelöst wird?

    Gruß
    Heiko

    Donnerstag, 2. Juli 2015 16:43
  • Hallo,
    Heiko hat recht. Du zeigst ein paar kleine Screenshots und erwartest, dass wird damit was anfangen können? ;-)

    Ohne Code habe wir keine Chance dir zu helfen, das ist dann eher das Stochern im Dunkeln.


    Viele Grüße Holger M. Rößler

    Donnerstag, 2. Juli 2015 18:29
  • Genau blaue Linie ist nicht relevant.

    Ja bei der normalen TextBox ist die Validierung mit einem zarten Roten Strich und rechts oben das rote Kasterl wo man die Validierung sieht.

    Und komischerweise dürfte bei der anderen TextBox nicht einmal die Validierung anschlagen. Aber die TextBox wird trotzdem mit einem roten Border angezeigt. Obwohl es vom Style her dieselbe TextBox ist.

    Hier der XAML der TextBox:

    <TextBox Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="3"                                                     
                                Text="{Binding Nummer, Mode=TwoWay, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}" 
                                 ToolTipService.ToolTip="{Binding Nummer}"/>

    Und hier das Property:

    <CustomValidation(GetType(Beleg), "NummerValidation")>
          Public Property Nummer As String Implements Nummer
             Get
                Return _strNummer
             End Get
             Set(value As String)
                _strNummer = value
                OnPropertyChanged()          
             End Set
          End Property

    Freitag, 3. Juli 2015 07:12
  • Hallo PAT,

    ValidatesOnDataErrors kenne ich bisher nur im Zusammenhang mit der Implementierung von IDataErrorInfo (Link). Wird dies Schnittstelle nicht implementiert, benötigt man meines Wissens kein ValidatesOnDataErrors-Property.

    Das CustomValidation-Attribut kannte ich bisher noch nicht. Beim Aufruf von OnPropertyChanged() wird der String "Nummer" implizit übergeben?

    Könnte es mit dem ToolTip zusammenhängen, wenn du mal den Binding-Mode explizit auf TwoWay setzt?

    Gibt es eventuell noch andere Fehlerüberprüfungen, die eine Auswirkung auf die gleiche TextBox haben?

    Setz mal einen Breakpoint in die NummerValidation-Methode und schau, was dort passiert.

    Gruß
    Heiko

    Freitag, 3. Juli 2015 08:59