FocusManager Classe

Definizione

Fornisce un insieme di metodi statici, proprietà associate ed eventi per determinare e impostare gli ambiti dello stato attivo e per impostare l'elemento attivo all'interno dell'ambito.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
Ereditarietà
FocusManager

Commenti

In Windows Presentation Foundation (WPF) sono disponibili due concetti per lo stato attivo: lo stato attivo della tastiera e lo stato attivo logico.In Windows Presentation Foundation (WPF) there are two concepts concerning focus: keyboard focus and logical focus.

Lo stato attivo della tastiera riguarda l'elemento che sta attualmente ricevendo l'input da tastiera.Keyboard focus pertains to the element which is currently receiving keyboard input. Può essere presente un solo elemento con lo stato attivo della tastiera.There can be only one element with keyboard focus. Questo elemento con lo stato attivo IsKeyboardFocused della tastiera trueè impostato su.This element with keyboard focus has IsKeyboardFocused set to true. Keyboard.FocusedElementRestituisce l'elemento con lo stato attivo della tastiera.Keyboard.FocusedElement returns the element with keyboard focus.

Lo stato attivo logico riguarda l' FocusManager.FocusedElement oggetto all'interno di un ambito di stato attivo specifico.Logical focus pertains to the FocusManager.FocusedElement within a specific focus scope.

Un ambito di stato attivo è un elemento contenitore che tiene traccia FocusManager.FocusedElement del all'interno del relativo ambito.A focus scope is a container element that keeps track of the FocusManager.FocusedElement within its scope. Per impostazione predefinita, Window la classe è un ambito dello stato attivo Menucome ContextMenule classi ToolBar , e.By default, the Window class is a focus scope as are the Menu, ContextMenu, and ToolBar classes. Un elemento che è un ambito di stato IsFocusScope attivo è trueimpostato su.An element which is a focus scope has IsFocusScope set to true.

Possono essere presenti più elementi con lo stato attivo logico, ma può essere presente un solo elemento con lo stato attivo logico all'interno di un singolo ambito di stato attivo.There can be multiple elements with logical focus, but there can only be one element with logical focus within a single focus scope. Un elemento con lo stato attivo logico non ha necessariamente lo stato attivo della tastiera, ma un elemento con lo stato attivo della tastiera avrà lo stato attivo logico.An element with logical focus does not necessarily have keyboard focus, but an element with keyboard focus will have logical focus. È possibile definire un ambito di stato attivo in un ambito di stato attivo.It is possible to define a focus scope within a focus scope. In questo caso, sia l'ambito dello stato attivo padre che l'ambito dello stato attivo FocusManager.FocusedElementfiglio possono avere un.In this case, both the parent focus scope and the child focus scope can have a FocusManager.FocusedElement.

Nello scenario seguente viene illustrata la modifica dello stato attivo della tastiera e lo stato attivo logico in Window un'applicazione TextBox WPF con Menu un oggetto e MenuItemun oggetto che dispone di un oggetto.The 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. Quando lo stato attivo della tastiera TextBox passa da MenuItema, TextBox lo stato attivo della tastiera delle perdite ma mantiene lo Window stato attivo logico per l'ambito dello stato attivo.When keyboard focus changes from the TextBox to the MenuItem, the TextBox losses keyboard focus but retains logical focus for the Window focus scope. Ottiene MenuItem lo stato attivo della tastiera e ottiene lo stato attivo logico Menu per l'ambito dello stato attivo.The MenuItem obtains keyboard focus and obtains logical focus for the Menu focus scope. Quando lo stato attivo della tastiera torna Windowalla radice, l' Window elemento nell'ambito dello stato attivo con lo stato attivo logico otterrà lo stato attivo della TextBoxtastiera, che in questo caso è.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. Il TextBox dispone ora dello stato attivo della tastiera e dello stato attivo logico.The TextBox now has keyboard focus and logical focus. Perde MenuItem lo stato attivo della tastiera, ma mantiene lo stato attivo Menu logico per l'ambito dello stato attivo.The MenuItem loses keyboard focus, but retains logical focus for the Menu focus scope.

Il valore predefinito di IsFocusScope Windowsu, Menu ToolBar, e ContextMenu è. trueThe default value of IsFocusScope on a Window, Menu, ToolBar, and ContextMenu is true.

Per altre informazioni sullo stato attivo, vedere Cenni preliminari sull' input e Panoramica dello stato attivo.For more information on focus, see the Input Overview and the Focus Overview.

Campi

FocusedElementProperty

Identifica la proprietà associata FocusedElement.Identifies the FocusedElement attached property.

GotFocusEvent

Identifica l'evento associato GotFocus.Identifies the GotFocus attached event.

IsFocusScopeProperty

Identifica la proprietà associata IsFocusScope.Identifies the IsFocusScope attached property.

LostFocusEvent

Identifica l'evento associato LostFocus.Identifies the LostFocus attached event.

Proprietà associate

FocusedElement

Determina se l'elemento al quale questa proprietà è associata ha lo stato attivo logico.Determines whether the element this property is attached to has logical focus.

IsFocusScope

Determina se l'elemento al quale questa proprietà è associata è un ambito dello stato attivo.Determines whether the element this property is attached to is a focus scope.

Metodi

AddGotFocusHandler(DependencyObject, RoutedEventHandler)

Aggiunge un gestore per l'evento associato GotFocus.Adds a handler for the GotFocus attached event.

AddLostFocusHandler(DependencyObject, RoutedEventHandler)

Aggiunge un gestore per l'evento associato LostFocus.Adds a handler for the LostFocus attached event.

GetFocusedElement(DependencyObject)

Ottiene l'elemento con lo stato attivo logico all'interno dell'ambito dello stato attivo specificato.Gets the element with logical focus within the specified focus scope.

GetFocusScope(DependencyObject)

Determina il predecessore più vicino dell'elemento specificato per cui IsFocusScope è impostato su true.Determines the closest ancestor of the specified element that has IsFocusScope set to true.

GetIsFocusScope(DependencyObject)

Determina se l'oggetto DependencyObject specificato è un ambito dello stato attivo.Determines whether the specified DependencyObject is a focus scope.

RemoveGotFocusHandler(DependencyObject, RoutedEventHandler)

Rimuove un gestore per l'evento associato GotFocus.Removes a handler for the GotFocus attached event.

RemoveLostFocusHandler(DependencyObject, RoutedEventHandler)

Rimuove un gestore per l'evento associato LostFocus.Removes a handler for the LostFocus attached event.

SetFocusedElement(DependencyObject, IInputElement)

Imposta lo stato attivo logico in relazione all'elemento specificato.Sets logical focus on the specified element.

SetIsFocusScope(DependencyObject, Boolean)

Imposta l'oggetto DependencyObject specificato come ambito dello stato attivo.Sets the specified DependencyObject as a focus scope.

Eventi associati

GotFocus

Si verifica quando un elemento riceve lo stato attivo.Occurs when an element gets focus.

LostFocus

Si verifica quando un elemento perde lo stato attivo.Occurs when an element loses focus.

Si applica a