UIElement.Focusable Propriété
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.
Obtient ou définit une valeur qui indique si l'élément peut recevoir le focus. Il s’agit d’une propriété de dépendance.
public:
property bool Focusable { bool get(); void set(bool value); };
public bool Focusable { get; set; }
member this.Focusable : bool with get, set
Public Property Focusable As Boolean
Valeur de propriété
true
si l’élément peut être actif ; sinon, false
. La valeur par défaut est false
.
Implémente
Exemples
L’exemple de code suivant illustre un modèle de contrôle pour un contrôle personnalisé particulier, qui définit Focusable false
sur l’un des éléments dans le modèle.
<Window.Resources>
<Style x:Key="TextBoxNoScrollViewer" TargetType="{x:Type TextBoxBase}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBoxBase}">
<Border
CornerRadius="2"
Background="{TemplateBinding Background}"
BorderThickness="{TemplateBinding BorderThickness}"
BorderBrush="{TemplateBinding BorderBrush}"
>
<!--
The control template for a TextBox or RichTextBox must
include an element tagged as the content host. An element is
tagged as the content host element when it has the special name
PART_ContentHost. The content host element must be a ScrollViewer,
or an element that derives from Decorator.
-->
<AdornerDecorator
x:Name="PART_ContentHost"
Focusable="False"
/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
Remarques
Seul l’élément ayant le focus reçoit l’entrée au clavier.
Focusable est l’accesseur de propriété Microsoft .NET pour ce qui est en réalité une propriété de dépendance. Cette propriété de dépendance particulière a assez souvent sa valeur « default » apparente définie différemment dans les classes d’éléments dérivées, en particulier dans les contrôles. Cela se produit généralement de l’une des deux manières suivantes :
La propriété de dépendance est héritée par une classe dérivée particulière, mais cette classe dérivée remplace les métadonnées de la propriété de dépendance et modifie la valeur par défaut de la propriété.
Un style ou un modèle est appliqué à un élément, ce qui définit la valeur de cette propriété de dépendance différemment.
Par exemple, la valeur « par défaut » apparente de Focusable pour un Button contrôle sera true
, même si Button hérite Focusable en tant que propriété Common Language Runtime (CLR) directement à partir de UIElement . Cela est dû au fait que la valeur de métadonnées appliquée pour la Focusable propriété de dépendance a été remplacée dans le constructeur statique de la Control classe de base, situé entre Button et UIElement dans la hiérarchie de classes.
Quand elle est héritée par Control ou ses classes dérivées, Control redéfinit la valeur par défaut de cette propriété sur true
.
En cas d’héritage par Label (qui est une Control classe dérivée), la valeur par défaut est à nouveau redéfinie comme étant false
.
Informations sur les propriétés de dépendance
Champ d’identificateur | FocusableProperty |
Propriétés de métadonnées définies sur true |
Aucun |
Notes pour les héritiers
Lorsque vous dérivez UIElement directement (par opposition à de Control ), déterminez si vous souhaitez que votre élément soit actif, car par défaut, l’élément ne peut pas être actif. Si vous souhaitez que votre élément soit actif, substituez les métadonnées de cette propriété dans le constructeur statique de votre type, comme suit :
où myElement
doit être le nom de classe du type sur lequel vous remplacez la valeur de métadonnées.