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
Ich habe dieses Verhalten implementiert.
Zuerst müssen Sie die Methoden ViewModel ErrorsChanged
und PropertyChanged
abonnieren. Ich mache das in meinem Konstruktor:
Dann schreiben Sie Handler für diese Ereignisse:
%Vor%Und schließlich füge Methode hinzu:
%Vor%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
Tags und Links silverlight mvvm validation