Ich suche nach einer Möglichkeit, den anfänglichen Fokus auf ein Silverlight UserControl automatisch auf ein bestimmtes Steuerelement zu setzen. Ich habe eine Login-Seite mit einem Benutzernamen Textfeld und ich möchte es so, dass, sobald der Benutzer auf die Seite geht ihr Cursor ist bereits positioniert und warten in den Benutzernamen Textbox, anstatt sie zu machen, klicken Sie auf das Feld.
Ich habe versucht, zu rufen. Konzentrieren Sie sich auf das Load-Ereignis von UserControl, aber ohne Erfolg. Weiß jemand, wie man das macht?
Ich habe eine schnelle SL3-App ausgepackt, und es ist schwierig, den ursprünglichen Fokus auf das UserControl zu legen, ganz zu schweigen von einem Steuerelement im Silverlight-Steuerelement.
Sehen Sie jedoch nach, ob diese Lösung dieses Problem für Sie löst. Sie müssen ein wenig JavaScript verwenden.
Hier ist der Code für die Referenz:
%Vor%Sobald Ihr SL-Steuerelement den Fokus hat, können Sie den Fokus weiter auf ein bestimmtes Steuerelement einstellen, indem Sie etwa wie folgt vorgehen:
%Vor%wobei uxLogin in XAML als definiert ist:
%Vor%Wenn Sie es in einer PRISM- oder MVVM-Weise tun wollen (entfernen Sie den Code-Behind-Code), können Sie ein Verhalten implementieren. In meinem Fall fokussiere ich die Ansicht im Feld Benutzername, wenn sie leer ist und im Passwort, wenn sie gesetzt ist (daher die 2 Parameter).
Meine Implementierung:
%Vor%Ich habe gerade einen Schnelltest gemacht und es sieht so aus, als würde das Problem auch im Browser gelöst!
So legen Sie den Fokus auf TextBox in Silverlight 4-Popup außerhalb des Browsers fest
Tags und Links .net silverlight xaml silverlight-2.0