Validierungsregeln, die den Wert eines anderen Steuerelements verwenden

8

Ich versuche etwas zu tun, von dem ich früher annahm, dass es ganz einfach wäre: Verwende den Wert von einem Steuerelement in der Validierungsregel eines anderen. Meine Anwendung hat eine Vielzahl von Parametern, die der Benutzer eingeben kann, die spezifischen Parameter, die hier in Frage kommen, definieren die Anfangs- und Endpunkte eines Bereichs, und der Benutzer setzt die Werte durch ein Textfeld.

Die zwei in Frage stehenden Steuerelemente sind die Anfangs- und Endtextfelder und die folgenden Bedingungen sollten bei der Überprüfung überprüft werden:

  1. Der Startwert muss größer oder gleich einem beliebigen Wert sein
  2. Der Endwert muss kleiner oder gleich einem beliebigen Wert sein
  3. Der Startwert muss kleiner oder gleich dem Endwert
  4. sein

Die ersten beiden Bedingungen habe ich bereits erfüllt. Der dritte ist viel schwieriger zu implementieren, weil ich nicht auf den Wert des End-Textfelds vom Validator zugreifen kann. Selbst wenn ich könnte, gibt es fünf verschiedene Bereiche (jeder mit seinem eigenen Start und Ende Textbox) Ich versuche zu validieren, und es muss eine Lösung eleganter als das Erstellen einer Validierungsregel für jeden.

Hier ist der relevante XAML-Code:

%Vor%

Und hier ist der relevante C # -Code:

%Vor%

Die Frage verbunden hier scheint relevant zu sein, aber ich kann die Antworten nicht verstehen.

Danke ...

    
Tristan Latchu 01.09.2013, 00:15
quelle

1 Antwort

4

Für alle, die dieses Problem haben, ist es viel einfacher, IDataErrorInfo zu implementieren, um Fehler im Allgemeinen zu validieren und eine Validierung mit anderen Steuerelementen in einer logischen Gruppierung durchzuführen. Ich habe die relevanten Eigenschaften (Start, Ende, Min und Max) in einer einzigen Klasse gekapselt, die Steuerelemente an diese Eigenschaften gebunden und dann die IDataErrorInfo-Schnittstelle für die Validierung verwendet. Relevanter Code ist unter ...

XAML:                                                      

%Vor%

C #:

%Vor%     
Tristan Latchu 03.09.2013, 06:13
quelle

Tags und Links