FocusManager FocusManager FocusManager FocusManager Class

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.Provides a set of static methods, attached properties, and events for determining and setting focus scopes and for setting the focused element within the scope.

public ref class FocusManager abstract sealed
public static class FocusManager
type FocusManager = class
Public Class FocusManager
Vererbung
FocusManagerFocusManagerFocusManagerFocusManager

Hinweise

In Windows Presentation Foundation (WPF) gibt es zwei Konzepte, die den Fokus betreffen: Tastaturfokus und logischer Fokus.In Windows Presentation Foundation (WPF) there are two concepts concerning focus: keyboard focus and logical focus.

Der Tastaturfokus bezieht sich auf das Element, das derzeit Tastatureingaben empfängt.Keyboard focus pertains to the element which is currently receiving keyboard input. Es darf nur ein Element mit dem Tastaturfokus vorhanden sein.There can be only one element with keyboard focus. Dieses Element mit dem Tastaturfokus IsKeyboardFocused ist auf truefestgelegt.This element with keyboard focus has IsKeyboardFocused set to true. Keyboard.FocusedElementGibt das Element mit dem Tastaturfokus zurück.Keyboard.FocusedElement returns the element with keyboard focus.

Der logische Fokus bezieht sich auf FocusManager.FocusedElement die innerhalb eines bestimmten Fokusbereichs.Logical focus pertains to the FocusManager.FocusedElement within a specific focus scope.

Ein Fokusbereich ist ein Containerelement, das den FocusManager.FocusedElement innerhalb seines Bereichs verfolgt.A focus scope is a container element that keeps track of the FocusManager.FocusedElement within its scope. Standardmäßig ist die Window -Klasse ein Schwerpunktbereich, ebenso wie Menudie ContextMenuKlassen, ToolBar und.By default, the Window class is a focus scope as are the Menu, ContextMenu, and ToolBar classes. Ein Element, bei dem es sich um IsFocusScope trueeinen Fokusbereich handelt.An element which is a focus scope has IsFocusScope set to true.

Es können mehrere Elemente mit logischem Fokus vorhanden sein, aber es kann nur ein Element mit logischem Fokus innerhalb eines einzelnen Fokusbereichs vorhanden sein.There can be multiple elements with logical focus, but there can only be one element with logical focus within a single focus scope. Ein Element mit dem logischen Fokus hat nicht unbedingt den Tastaturfokus, aber ein Element mit dem Tastaturfokus hat den logischen Fokus.An element with logical focus does not necessarily have keyboard focus, but an element with keyboard focus will have logical focus. Es ist möglich, einen Schwerpunktbereich innerhalb eines Schwerpunktbereichs zu definieren.It is possible to define a focus scope within a focus scope. In diesem Fall können sowohl der übergeordnete Fokusbereich als auch der untergeordnete Fokusbereich FocusManager.FocusedElementüber einen verfügen.In this case, both the parent focus scope and the child focus scope can have a FocusManager.FocusedElement.

Im folgenden Window Szenario wird veranschaulicht, TextBox Menu MenuItemwie der Tastaturfokus und der logische Fokus in einer WPF-Anwendung geändert werdenThe following scenario illustrates how keyboard focus and logical focus change in a WPF application that has a Window with a TextBox and a Menu which has a MenuItem. Wenn sich der Tastaturfokus von TextBox der in MenuItemden ändert TextBox , ist der Tastaturfokus verloren, behält jedoch Window den logischen Fokus für den Fokusbereich.When keyboard focus changes from the TextBox to the MenuItem, the TextBox losses keyboard focus but retains logical focus for the Window focus scope. Der MenuItem erhält Tastaturfokus und erhält den logischen Fokus für Menu den Schwerpunktbereich.The MenuItem obtains keyboard focus and obtains logical focus for the Menu focus scope. Wenn der Tastaturfokus zum WindowStamm zurückkehrt, erhält das Element im Window Fokusbereich mit logischem Fokus den Tastaturfokus, was in diesem Fall TextBoxder ist.When keyboard focus returns to the root Window, the element in Window focus scope with logical focus will obtain keyboard focus, which in this case is the TextBox. Der TextBox verfügt jetzt über Tastaturfokus und logischer Fokus.The TextBox now has keyboard focus and logical focus. Das MenuItem verliert den Tastaturfokus, behält aber den logischen Fokus Menu für den Schwerpunktbereich bei.The MenuItem loses keyboard focus, but retains logical focus for the Menu focus scope.

Der Standardwert von IsFocusScope Windowfür, Menu, ToolBarund ContextMenu ist. trueThe default value of IsFocusScope on a Window, Menu, ToolBar, and ContextMenu is true.

Weitere Informationen zum Fokus finden Sie in der Übersicht über die Eingaben und den Fokus.For more information on focus, see the Input Overview and the Focus Overview.

Felder

FocusedElementProperty FocusedElementProperty FocusedElementProperty FocusedElementProperty

Bezeichnet die angefügte FocusedElement-Eigenschaft.Identifies the FocusedElement attached property.

GotFocusEvent GotFocusEvent GotFocusEvent GotFocusEvent

Bezeichnet das angefügte GotFocus-Ereignis.Identifies the GotFocus attached event.

IsFocusScopeProperty IsFocusScopeProperty IsFocusScopeProperty IsFocusScopeProperty

Bezeichnet die angefügte IsFocusScope-Eigenschaft.Identifies the IsFocusScope attached property.

LostFocusEvent LostFocusEvent LostFocusEvent LostFocusEvent

Bezeichnet das angefügte LostFocus-Ereignis.Identifies the LostFocus attached event.

Angefügte Eigenschaften

FocusedElement FocusedElement FocusedElement FocusedElement

Ermittelt, ob das Element, an das diese Eigenschaft angefügt ist, über den logischen Fokus verfügt.Determines whether the element this property is attached to has logical focus.

IsFocusScope IsFocusScope IsFocusScope IsFocusScope

Ermittelt, ob das Element, an das diese Eigenschaft angefügt ist, einen Fokusbereich darstellt.Determines whether the element this property is attached to is a focus scope.

Methoden

AddGotFocusHandler(DependencyObject, RoutedEventHandler) AddGotFocusHandler(DependencyObject, RoutedEventHandler) AddGotFocusHandler(DependencyObject, RoutedEventHandler) AddGotFocusHandler(DependencyObject, RoutedEventHandler)

Fügt einen Handler für das angefügte GotFocus -Ereignis hinzu.Adds a handler for the GotFocus attached event.

AddLostFocusHandler(DependencyObject, RoutedEventHandler) AddLostFocusHandler(DependencyObject, RoutedEventHandler) AddLostFocusHandler(DependencyObject, RoutedEventHandler) AddLostFocusHandler(DependencyObject, RoutedEventHandler)

Fügt einen Handler für das angefügte LostFocus-Ereignis hinzu.Adds a handler for the LostFocus attached event.

GetFocusedElement(DependencyObject) GetFocusedElement(DependencyObject) GetFocusedElement(DependencyObject) GetFocusedElement(DependencyObject)

Ruft das Element mit dem logischem Fokus im angegebenen Fokusbereich ab.Gets the element with logical focus within the specified focus scope.

GetFocusScope(DependencyObject) GetFocusScope(DependencyObject) GetFocusScope(DependencyObject) GetFocusScope(DependencyObject)

Ermittelt den nächsten Vorgänger des angegebenen Elements, dessen IsFocusScope auf true festgelegt ist.Determines the closest ancestor of the specified element that has IsFocusScope set to true.

GetIsFocusScope(DependencyObject) GetIsFocusScope(DependencyObject) GetIsFocusScope(DependencyObject) GetIsFocusScope(DependencyObject)

Ermittelt, ob das angegebene DependencyObject ein Fokusbereich ist.Determines whether the specified DependencyObject is a focus scope.

RemoveGotFocusHandler(DependencyObject, RoutedEventHandler) RemoveGotFocusHandler(DependencyObject, RoutedEventHandler) RemoveGotFocusHandler(DependencyObject, RoutedEventHandler) RemoveGotFocusHandler(DependencyObject, RoutedEventHandler)

Entfernt einen Handler für das angefügte GotFocus-Ereignis.Removes a handler for the GotFocus attached event.

RemoveLostFocusHandler(DependencyObject, RoutedEventHandler) RemoveLostFocusHandler(DependencyObject, RoutedEventHandler) RemoveLostFocusHandler(DependencyObject, RoutedEventHandler) RemoveLostFocusHandler(DependencyObject, RoutedEventHandler)

Entfernt einen Handler für das angefügte LostFocus-Ereignis.Removes a handler for the LostFocus attached event.

SetFocusedElement(DependencyObject, IInputElement) SetFocusedElement(DependencyObject, IInputElement) SetFocusedElement(DependencyObject, IInputElement) SetFocusedElement(DependencyObject, IInputElement)

Legt den logischen Fokus für das angegebene Element fest.Sets logical focus on the specified element.

SetIsFocusScope(DependencyObject, Boolean) SetIsFocusScope(DependencyObject, Boolean) SetIsFocusScope(DependencyObject, Boolean) SetIsFocusScope(DependencyObject, Boolean)

Legt das angegebene DependencyObject als Fokusbereich fest.Sets the specified DependencyObject as a focus scope.

Angefügte Ereignisse

GotFocus GotFocus GotFocus GotFocus

Tritt ein, wenn ein Element den Fokus erhält.Occurs when an element gets focus.

LostFocus LostFocus LostFocus LostFocus

Tritt auf, wenn ein Element den Fokus verliert.Occurs when an element loses focus.

Gilt für: