Wie finde ich in Silverlight das erste Feld, das an ein Modell mit einem Fehler gebunden ist, damit ich ihm den Fokus geben kann?

9

Grüße

Ich habe ein Silverlight-Formular, das an ein Modellobjekt gebunden ist, das INotifyDataErrorInfo implementiert und die Validierung durchführt, wenn Sie auf die Schaltfläche zum Speichern klicken. Wenn einige der Eigenschaften des Modells ungültig werden, markiert Silverlight automatisch das gebundene Eingabefeld.

Gibt es eine Möglichkeit, den Fokus auf das erste ungültige Feld zu setzen?

UPDATE: Gibt es überhaupt eine Möglichkeit zu sehen, ob ein Eingabefeld in diesem ungültigen Anzeigezustand ist? Wenn ich das feststellen kann, kann ich meine Felder durchlaufen und den Fokus manuell einstellen.

Danke, Matthäus

    
Matthew 06.06.2011, 21:01
quelle

2 Antworten

1

Ich habe dieses Verhalten implementiert. Zuerst müssen Sie die Methoden ViewModel ErrorsChanged und PropertyChanged abonnieren. Ich mache das in meinem Konstruktor:

%Vor%

Dann schreiben Sie Handler für diese Ereignisse:

%Vor%

Und schließlich füge Methode hinzu:

%Vor%     
Seekeer 21.08.2012, 14:15
quelle
4

Sie könnten eine ValidationSummary Aus Ihrer Sicht sollen alle Validierungsfehler angezeigt werden, die Ihr Modell ausgelöst hat. Wenn Sie auf einen Fehler in der ValidationSummary klicken, wird das Steuerelement, das den Validierungsfehler verursacht hat, fokussiert.

Ein Beispiel für die ValidationSummary finden Sie in den Beispielen von Silverlight Toolkit.

Bis jetzt habe ich ValidationSummary nicht in irgendeiner Anwendung verwendet, daher kann ich Ihnen keine Informationen über die Verwendung oder "wie verwende ich" zur Verfügung stellen, aber vielleicht dies wird Ihnen helfen

    
Jehof 19.06.2011 19:45
quelle

Tags und Links