Wie setzen Sie den Fokus zu einem Steuerelement von WPF mit MVVM?
Ich bin validieren von Benutzereingaben in meinem viewmodel und werfen Validierung Meldung, falls die überprüfung fehlschlägt für alle Werte.
Ich muss nur den Fokus auf die Besondere Kontrolle für die Validierung fehlgeschlagen ist.
Irgendeine Idee, wie dies zu erreichen ?
- Konzept: ein AttachedBehavior oder ein Custom Control - eine neue Abhängigkeit Eigenschaft, die auf true gesetzt sind, Sie konzentrieren sich, dass die Kontrolle und Einstellung wieder auf false, so dass Sie bereit sind für die nächste Zeit ist es auf true gesetzt.
- Für Benutzereingaben, die Kontrolle bereits Fokus hat, richtig? Für die programmatischen änderungen der control-Werte, wie stellen Sie sicher, dass nur ein Steuerelement die Validierung fehlschlägt? Wenn mehrere Steuerelemente würde fehlschlagen, und das wäre die auserwählte, die den Fokus erhalten?
- Eine bessere Umsetzung dieser Frage konnte hier gefunden werden: stackoverflow.com/a/7972361/9758687
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der Regel, wenn wir Sie verwenden wollen ein UI-event-unter Einhaltung der MVVM-Methodik erstellen wir ein
Attached Property
:Diese Eigenschaft wird wie folgt verwendet:
Dann können wir uns die
TextBox
aus der Ansicht im Modell durch änderung derIsFocused
Eigenschafttrue
:Attached
ist der namespace der Klasse. Deshalb ist auf die Eigenschaft zugegriffen wird, wie diese:Attached:TextBoxProperties.IsFocused
.Attached
daherAttached:TextBoxProperties
).