UIElement.Focusable Propriété

Définition

Obtient ou définit une valeur qui indique si l'élément peut recevoir le focus.Gets or sets a value that indicates whether the element can receive focus. Il s’agit d’une propriété de dépendance.This is a dependency property.

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.true if the element is focusable; otherwise false. La valeur par défaut est false.The default is 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.The following example code illustrates a control template for a particular custom control, which sets Focusable false on one of the elements within the template.

<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.Only the focused element receives keyboard input.

Focusable est l’accesseur de propriété Microsoft .NET pour ce qui est en réalité une propriété de dépendance.Focusable is the Microsoft .NET property accessor for what is in reality a dependency property. 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.This particular dependency property quite frequently has its apparent "default" value set differently in derived element classes, particularly in controls. Cela se produit généralement de l’une des deux manières suivantes :This commonly occurs in one of two ways:

  • 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é.The dependency property is inherited by a particular derived class, but that derived class overrides the metadata of the dependency property and changes the property default value.

  • 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.A style or template is applied to an element, which sets that dependency property value differently.

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 .For example, the apparent "default" of Focusable for a Button control will be true, even though Button inherits Focusable as a common language runtime (CLR) property directly from 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.This is because the applied metadata value for the Focusable dependency property was overridden within the static constructor of the Control base class, which is situated between Button and UIElement in the class hierarchy.

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 .When inherited by Control or its derived classes, Control redefines the default value of this property to be 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 .When inherited by Label (which is a Control derived class), the default value is again redefined to be false.

Informations sur les propriétés de dépendanceDependency Property Information

Champ d’identificateurIdentifier field FocusableProperty
Propriétés de métadonnées définies sur trueMetadata properties set to true AucunNone

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.When deriving from UIElement directly (as opposed to from Control), consider whether you wish your element to be focusable, because by default the element will not be focusable. 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 :If you wish your element to be focusable, override the metadata for this property within your type's static constructor as follows: [ ! code-CSharpCorePseudocode # UIElementShortOverride] [ ! code-VBCorePseudocode # UIElementShortOverride][!code-csharpCorePseudocode#UIElementShortOverride] [!code-vbCorePseudocode#UIElementShortOverride] myElement doit être le nom de classe du type sur lequel vous remplacez la valeur de métadonnées.where myElement should be the class name of the type that you are overriding the metadata value on.

S’applique à

Voir aussi