FocusManager Klasse

Definition

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 true festgelegt ist.

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.

Gilt für: