FocusManager Classe

Définition

Fournit un ensemble de méthodes statiques, de propriétés jointes et d’événements pour déterminer et définir des étendues de focus et pour définir l’élément prioritaire dans l’étendue.

public ref class FocusManager abstract sealed
public static class FocusManager
type FocusManager = class
Public Class FocusManager
Héritage
FocusManager

Remarques

Dans Windows Presentation Foundation (WPF), il existe deux concepts concernant le focus : le focus clavier et le focus logique.

Le focus clavier se rapporte à l’élément qui reçoit actuellement l’entrée du clavier. Il ne peut y avoir qu’un seul élément avec le focus clavier. Cet élément avec le focus clavier a IsKeyboardFocused la valeur true. Keyboard.FocusedElement retourne l’élément avec le focus clavier.

Le focus logique se rapporte au FocusManager.FocusedElement sein d’une étendue de focus spécifique.

Une étendue de focus est un élément conteneur qui effectue le suivi du FocusManager.FocusedElement dans son étendue. Par défaut, la Window classe est une étendue de focus telle que sont les classes, ContextMenuet ToolBar les Menuclasses. Un élément qui est une étendue de focus a IsFocusScope la valeur true.

Il peut y avoir plusieurs éléments avec le focus logique, mais il ne peut y avoir qu’un seul élément avec le focus logique dans une seule étendue de focus. Un élément avec focus logique n’a pas nécessairement le focus clavier, mais un élément avec le focus clavier aura le focus logique. Il est possible de définir une étendue de focus dans une étendue de focus. Dans ce cas, l’étendue du focus parent et l’étendue du focus enfant peuvent avoir un FocusManager.FocusedElement.

Le scénario suivant illustre la façon dont le focus clavier et le focus logique changent dans une application WPF qui a un Window avec un TextBox et un Menu qui a un MenuItem. Lorsque le TextBox focus clavier passe du focus au MenuItemfocus, le TextBox focus clavier est perdu, mais conserve le focus logique pour l’étendue du Window focus. Obtient le MenuItem focus clavier et obtient le focus logique pour l’étendue du Menu focus. Lorsque le focus clavier revient à la racine Window, l’élément dans Window l’étendue du focus avec le focus logique obtient le focus clavier, ce qui, dans ce cas, est le TextBox. Le TextBox focus clavier et le focus logique sont désormais présents. Le MenuItem focus du clavier perd, mais conserve le focus logique pour l’étendue du Menu focus.

Valeur par défaut sur IsFocusScope un Window, Menu, ToolBaret ContextMenu est true.

Pour plus d’informations sur le focus, consultez la vue d’ensemble de l’entrée et la vue d’ensemble du focus.

Champs

Nom Description
FocusedElementProperty

Identifie la FocusedElement propriété jointe.

GotFocusEvent

Identifie l’événement GotFocus attaché.

IsFocusScopeProperty

Identifie la IsFocusScope propriété jointe.

LostFocusEvent

Identifie l’événement LostFocus attaché.

Propriétés attachées

Nom Description
FocusedElement

Détermine si l’élément auquel cette propriété est attachée a le focus logique.

IsFocusScope

Détermine si l’élément auquel cette propriété est attachée est une étendue de focus.

Méthodes

Nom Description
AddGotFocusHandler(DependencyObject, RoutedEventHandler)

Ajoute un gestionnaire pour l’événement GotFocus attaché.

AddLostFocusHandler(DependencyObject, RoutedEventHandler)

Ajoute un gestionnaire pour l’événement LostFocus attaché.

GetFocusedElement(DependencyObject)

Obtient l’élément avec le focus logique dans l’étendue de focus spécifiée.

GetFocusScope(DependencyObject)

Détermine l’ancêtre le plus proche de l’élément spécifié défini IsFocusScope sur true.

GetIsFocusScope(DependencyObject)

Détermine si l’objet spécifié DependencyObject est une étendue de focus.

RemoveGotFocusHandler(DependencyObject, RoutedEventHandler)

Supprime un gestionnaire pour l’événement GotFocus attaché.

RemoveLostFocusHandler(DependencyObject, RoutedEventHandler)

Supprime un gestionnaire pour l’événement LostFocus attaché.

SetFocusedElement(DependencyObject, IInputElement)

Définit le focus logique sur l’élément spécifié.

SetIsFocusScope(DependencyObject, Boolean)

Définit l’étendue spécifiée DependencyObject sous la forme d’une étendue de focus.

Événements attachés

Nom Description
GotFocus

Se produit lorsqu’un élément obtient le focus.

LostFocus

Se produit lorsqu’un élément perd le focus.

S’applique à