Ich habe einen Suchbildschirm in meiner WPF-Anwendung. Der Bildschirm ist als UserControl in einem TabItem eines TabControl implementiert. Wenn der Benutzer zur Registerkarte Suchen wechselt, möchte ich, dass der Fokus in ein bestimmtes Feld wechselt.Wie finde ich heraus, wo der Fokus in meiner WPF-Anwendung liegt?
Also habe ich eine Loaded-Event-Handler zum UserControl-Tag in der Xaml hinzugefügt und ich rief die Focus-Methode des Steuerelements Ich möchte den ursprünglichen Fokus im Loaded-Event-Handler haben. Dies funktionierte großartig, bis ich die Telerik-Steuerbibliothek, die ich heute verwende, aktualisiert habe. Jetzt, wenn ich zur Registerkarte Suche wechsle, ist der Fokus NICHT in dem Feld, in dem ich es haben möchte, aber ich kann nicht sagen, welches Steuerelement den Fokus hat.
Das Feld, das ich bereits im Fokus haben möchte, hat GotFocus & LostFocus Event-Handler aus anderen Gründen. Ich erinnerte mich, dass in Win Forms die LostFocus-Ereignishandler-Argumente Ihnen sagen, welches Steuerelement den Fokus erhalten wird. Also habe ich einen Haltepunkt in meinem LostFocus-Handler & entdeckt, dass die Argumente für den LostFocus-Event-Handler in WPF diese Informationen nicht enthalten.
Wie kann ich herausfinden, wohin der Fokus geht, ohne GotFocus-Handler auf jede Steuerung in meinem UserControl zu setzen?
Tony
Danke, das ist was ich brauchte. Ich konnte nicht leicht sagen, wohin der Fokus ging, weil es zu einer Checkbox ging, die ich auf dem Formular habe, und das zeigt den Fokus, indem ich eine gestrichelte Box um das Innere der Checkbox legte. Es ist winzig und schwer zu sehen, es sei denn, du suchst es wirklich. Zumindest ist es in meiner Anwendung. –
@Tony Ich bin froh, dass es geholfen hat. –