Partager via


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 portées de focus et pour définir l'élément ayant le focus dans la portée.

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 concerne 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 dans une étendue de focus spécifique.

Une étendue de focus est un élément conteneur qui effectue le suivi de dans FocusManager.FocusedElement son étendue. Par défaut, la Window classe est une étendue de focus, comme le sont les Menuclasses , ContextMenuet ToolBar . Un élément qui est une étendue de focus a IsFocusScope défini sur 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 le 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 focus du clavier passe du TextBox au MenuItem, le focus du clavier perd le TextBox focus du clavier, 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, qui dans ce cas est le TextBox. Le a maintenant le TextBox focus clavier et le focus logique. Le perd le MenuItem focus clavier, mais conserve le focus logique pour l’étendue du Menu focus.

La valeur par défaut de IsFocusScope sur un Window, Menu, ToolBaret ContextMenu est true.

Pour plus d’informations sur le focus, consultez Vue d’ensemble des entrées et Vue d’ensemble du focus.

Champs

FocusedElementProperty

Identifie la propriété jointe FocusedElement.

GotFocusEvent

Identifie l’événement attaché GotFocus.

IsFocusScopeProperty

Identifie la propriété jointe IsFocusScope.

LostFocusEvent

Identifie l’événement attaché LostFocus.

Propriétés attachées

FocusedElement

Détermine si l'élément auquel cette propriété est jointe a le focus logique.

IsFocusScope

Détermine si l'élément auquel cette propriété est jointe est une portée de focus.

Méthodes

AddGotFocusHandler(DependencyObject, RoutedEventHandler)

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

AddLostFocusHandler(DependencyObject, RoutedEventHandler)

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

GetFocusedElement(DependencyObject)

Obtient l'élément avec le focus logique dans la portée de focus spécifiée.

GetFocusScope(DependencyObject)

Détermine l'ancêtre le plus proche de l'élément spécifié dont la propriété IsFocusScope a la valeur true.

GetIsFocusScope(DependencyObject)

Détermine si le DependencyObject spécifié est une portée de focus.

RemoveGotFocusHandler(DependencyObject, RoutedEventHandler)

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

RemoveLostFocusHandler(DependencyObject, RoutedEventHandler)

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

SetFocusedElement(DependencyObject, IInputElement)

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

SetIsFocusScope(DependencyObject, Boolean)

Définit le DependencyObject spécifié comme une portée de focus.

Événements attachés

GotFocus

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

LostFocus

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

S’applique à