UIElement.Focusable Propriété

Définition

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é

Boolean

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 :

myElement doit être le nom de classe du type sur lequel vous remplacez la valeur de métadonnées.

S’applique à

Voir aussi