Vraag Krijg momenteel gericht element / controle in een WPF-venster


Hoe kan ik het momenteel gefocuste element / besturingselement in WPF verkrijgen van code die geen deel uitmaakt van een venster of een gebruikersbesturingselement?


51
2017-10-15 22:15


oorsprong


antwoorden:


Het hangt af van het type focus dat je zoekt, Logical of Keyboard.

Toetsenbordfocus verwijst naar het element dat toetsenbordinvoer en ontvangt logische focus verwijst naar het element in een focusbereik dat focus heeft.

FocusManager haalt het element met logische focus binnen het opgegeven focusbereik, in dit geval het venster (this):

IInputElement focusedControl = FocusManager.GetFocusedElement(this);

Keyboard retourneert het element met de huidige invoerfocus van het toetsenbord:

IInputElement focusedControl =  Keyboard.FocusedElement;

93
2017-10-15 22:50