Wie kann ich das aktuell fokussierte Element/Steuerelement in WPF aus Code abrufen, der weder zu einem Fenster noch zu einem Benutzersteuerelement gehört?Aktualisiertes Element/Steuerelement in einem WPF-Fenster
48
A
Antwort
86
Es hängt von der Art des Fokus ab, nach dem Sie suchen, Logical
oder Keyboard
.
Tastaturfokus bezieht sich auf das Element, das eine Tastatureingabe und logischen Fokus erhält in einem Fokusbereich, das den Fokus hat, um das Element bezieht.
FocusManager
wird das Element mit dem logischen Fokus innerhalb der Fokusbereich spezifiziert, in diesem Fall das Fenster (this
):
IInputElement focusedControl = FocusManager.GetFocusedElement(this);
Keyboard
wird das Element mit der aktuellen Tastatureingabefokus zurück:
IInputElement focusedControl = Keyboard.FocusedElement;
Vielen Dank für die Beratung. Ich benutze die erste Option mit der Kombination von Application.Current.Windows [0] anstelle von 'this'. – Honzajscz
Siehe [System.Windows.Input.Keyboard.FocusedElement] (https://msdn.microsoft.com/en-us/library/system.windows.input.keyboard.focusedelement.aspx) und [System.Windows.Input. FocusManager.GetFocusedElement()] (https://msdn.microsoft.com/en-us/library/ms604088.aspx) – Lu55