FocusManager Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt eine Reihe statischer Methoden sowie angefügte Eigenschaften und Ereignisse bereit, um Fokusbereiche zu ermitteln und festzulegen und das fokussierte Element innerhalb des Bereichs festzulegen.
public ref class FocusManager abstract sealed
public static class FocusManager
type FocusManager = class
Public Class FocusManager
- Vererbung
-
FocusManager
Hinweise
In Windows Presentation Foundation (WPF) gibt es zwei Konzepte zum Fokus: Tastaturfokus und logischer Fokus.
Der Tastaturfokus betrifft das Element, das derzeit Tastatureingaben empfängt. Es kann nur ein Element mit Tastaturfokus vorhanden sein. Dieses Element mit Tastaturfokus hat IsKeyboardFocused auf truefestgelegt. Keyboard.FocusedElement gibt das Element mit Tastaturfokus zurück.
Der logische Fokus bezieht sich auf den FocusManager.FocusedElement innerhalb eines bestimmten Fokusbereichs.
Ein Fokusbereich ist ein Containerelement, das den Überblick über den FocusManager.FocusedElement Bereich behält. Standardmäßig ist die Klasse ein Fokusbereich wie die Window Menu, ContextMenuund ToolBar Klassen. Ein Element, das ein Fokusbereich ist, hat IsFocusScope sich auf truefestgelegt.
Es kann mehrere Elemente mit logischem Fokus geben, aber es kann nur ein Element mit logischem Fokus innerhalb eines einzigen Fokusbereichs vorhanden sein. Ein Element mit logischem Fokus verfügt nicht unbedingt über den Tastaturfokus, aber ein Element mit Tastaturfokus hat den logischen Fokus. Es ist möglich, einen Fokusbereich innerhalb eines Fokusbereichs zu definieren. In diesem Fall kann sowohl der übergeordnete Fokusbereich als auch der untergeordnete Fokusbereich eine FocusManager.FocusedElement.
Im folgenden Szenario wird veranschaulicht, wie sich der Tastaturfokus und der logische Fokus in einer WPF-Anwendung ändern, die über eine Window mit einer TextBox und einer Menu MenuItemverfügt. Wenn sich der Tastaturfokus von der TextBox Tastatur auf den MenuItemBereich ändert, wird der TextBox Tastaturfokus verloren, aber der logische Fokus für den Window Fokusbereich beibehalten. Der MenuItem Tastaturfokus erhält den logischen Fokus für den Menu Fokusbereich. Wenn der Tastaturfokus zum Stamm Windowzurückgibt, wird das Element im Window Fokusbereich mit logischem Fokus den Tastaturfokus erhalten, der in diesem Fall der Fall ist.TextBox Der TextBox Jetzt hat den Tastaturfokus und den logischen Fokus. Der MenuItem Tastaturfokus verliert, behält jedoch den logischen Fokus für den Menu Fokusbereich.
Der Standardwert für IsFocusScope ein Window, Menu, ToolBarund ContextMenu ist true.
Weitere Informationen zum Fokus finden Sie unter "Eingabeübersicht" und "Fokusübersicht".
Felder
| FocusedElementProperty |
Bezeichnet die angefügte FocusedElement-Eigenschaft. |
| GotFocusEvent |
Bezeichnet das angefügte GotFocus-Ereignis. |
| IsFocusScopeProperty |
Bezeichnet die angefügte IsFocusScope-Eigenschaft. |
| LostFocusEvent |
Bezeichnet das angefügte LostFocus-Ereignis. |
Angefügte Eigenschaften
| FocusedElement |
Ermittelt, ob das Element, an das diese Eigenschaft angefügt ist, über den logischen Fokus verfügt. |
| IsFocusScope |
Ermittelt, ob das Element, an das diese Eigenschaft angefügt ist, einen Fokusbereich darstellt. |
Methoden
| AddGotFocusHandler(DependencyObject, RoutedEventHandler) |
Fügt einen Handler für das angefügte GotFocus-Ereignis hinzu. |
| AddLostFocusHandler(DependencyObject, RoutedEventHandler) |
Fügt einen Handler für das angefügte LostFocus-Ereignis hinzu. |
| GetFocusedElement(DependencyObject) |
Ruft das Element mit dem logischem Fokus im angegebenen Fokusbereich ab. |
| GetFocusScope(DependencyObject) |
Ermittelt den nächsten Vorgänger des angegebenen Elements, dessen IsFocusScope auf |
| GetIsFocusScope(DependencyObject) |
Ermittelt, ob das angegebene DependencyObject ein Fokusbereich ist. |
| RemoveGotFocusHandler(DependencyObject, RoutedEventHandler) |
Entfernt einen Handler für das angefügte GotFocus-Ereignis. |
| RemoveLostFocusHandler(DependencyObject, RoutedEventHandler) |
Entfernt einen Handler für das angefügte LostFocus-Ereignis. |
| SetFocusedElement(DependencyObject, IInputElement) |
Legt den logischen Fokus für das angegebene Element fest. |
| SetIsFocusScope(DependencyObject, Boolean) |
Legt das angegebene DependencyObject als Fokusbereich fest. |
Angefügte Ereignisse
| GotFocus |
Tritt ein, wenn ein Element den Fokus erhält. |
| LostFocus |
Tritt auf, wenn ein Element den Fokus verliert. |