FocusManager Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 |
| 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. |