Control.FocusState Propriété

Définition

Obtient une valeur qui spécifie si ce contrôle a le focus et le mode par lequel le focus a été obtenu.

public:
 property FocusState FocusState { FocusState get(); };
FocusState FocusState();
public FocusState FocusState { get; }
var focusState = control.focusState;
Public ReadOnly Property FocusState As FocusState

Valeur de propriété

Valeur de l’énumération. La valeur Unfocused indique que le contrôle n’a pas le focus.

Remarques

Cette propriété prend en charge les contrôles qui utilisent différents styles visuels selon que le contrôle a été ciblé par le clavier ou par d’autres moyens. Certains contrôles utilisent des états visuels qui affichent un indicateur de focus visible si le contrôle a été ciblé par une action clavier, mais n’affichent pas l’indicateur si le contrôle a été ciblé par une action de pointeur. La logique interne d’un tel contrôle implémente OnGotFocus , puis obtient la valeur de FocusState de l’expéditeur. Si FocusState est Clavier, un autre état visuel nommé qui inclut un rectangle de focus est chargé, en appelant GoToState. En règle générale, les états visuels liés au focus sont regroupés dans le modèle de contrôle par défaut XAML. Les contrôles personnalisés qui souhaitent utiliser différents visuels de focus en fonction du mode de focus peuvent implémenter eux-mêmes cette même logique. Consultez OnGotFocus.

Une autre façon d’utiliser cette propriété consiste à utiliser FocusManager pour déterminer quel élément de l’interface utilisateur globale a le focus, puis à appeler FocusState sur cet élément pour obtenir des informations sur la façon dont ce contrôle a reçu le focus.

Remarques pour les versions précédentes

Notes

Dans Windows 8, lorsque FocusState a la valeur Programmatique, le visuel de focus clavier s’affiche même si la méthode d’entrée précédente était pointeur. Dans Windows 8.1, lorsque vous appelez Focus (FocusState.Programmatic), le FocusState précédent, pointeur ou clavier, est conservé afin que le visuel de focus approprié s’affiche. Cela signifie que si vous case activée la valeur de la propriété FocusState après avoir appelé Focus (FocusState.Programmatic), la propriété FocusState aura une valeur pointeur ou clavier.

Dans une application compilée pour Windows 8, mais exécutée dans Windows 8.1, le comportement Windows 8 est conservé. La valeur de la propriété FocusState est Programmatique et le visuel focus clavier s’affiche.

Notes

Les classes qui héritent d’ItemsControl, telles que ListBox et AutoSuggestBox, ne propagent pas la propriété FocusState. Ils retourneront toujours Unfocused. Accédez à la valeur correcte via RoutedEventArgs.OriginalSource.

S’applique à