UIElement.Focusable Eigenschaft

Definition

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Element den Fokus empfangen kann. Hierbei handelt es sich um eine Abhängigkeitseigenschaft.

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

Eigenschaftswert

true wenn das Element fokussierbar ist; andernfalls false. Der Standardwert lautet false.

Implementiert

Beispiele

Der folgende Beispielcode veranschaulicht eine Steuerelementvorlage für ein bestimmtes benutzerdefiniertes Steuerelement, das für eines der Elemente in der Vorlage festgelegt wird Focusablefalse .

<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>

Hinweise

Nur das fokussierte Element empfängt Tastatureingaben.

Focusable ist der Microsoft .NET Eigenschaftsaccessor für die Tatsächlichkeit einer Abhängigkeitseigenschaft. Diese spezielle Abhängigkeitseigenschaft hat häufig ihren offensichtlichen "Standardwert" in abgeleiteten Elementklassen, insbesondere in Steuerelementen, unterschiedlich festgelegt. Dies tritt häufig auf eine von zwei Arten auf:

  • Die Abhängigkeitseigenschaft wird von einer bestimmten abgeleiteten Klasse geerbt, diese abgeleitete Klasse überschreibt jedoch die Metadaten der Abhängigkeitseigenschaft und ändert den Standardwert der Eigenschaft.
  • Eine Formatvorlage oder Vorlage wird auf ein Element angewendet, das den Wert der Abhängigkeitseigenschaft anders festlegt.

Beispielsweise lautet der scheinbare "Standardwert" Focusable für ein Button Steuerelement , auch wenn true er direkt von Buttoneiner CLR-Eigenschaft (Common Language Runtime) erbtFocusable.UIElement Dies liegt daran, dass der angewendete Metadatenwert für die Focusable Abhängigkeitseigenschaft innerhalb des statischen Konstruktors der Control Basisklasse außer Kraft gesetzt wurde, der sich zwischen Button und UIElement in der Klassenhierarchie befindet.

Wenn sie von Control den abgeleiteten Klassen geerbt werden, wird der Standardwert dieser Eigenschaft neu definiert, Control um sie zu sein true.

Wenn er von Label (einer Control abgeleiteten Klasse) geerbt wird, wird der Standardwert erneut neu definiert, um es zu sein false.

Informationen zur Abhängigkeitseigenschaft

Element Wert
Bezeichnerfeld FocusableProperty
Auf Metadateneigenschaften festgelegt true Nichts

Hinweise für Vererber

Berücksichtigen Sie bei der direkten Ableitung UIElement (im Gegensatz zu "Von Control"), ob das Element fokussierbar sein soll, da das Element standardmäßig nicht fokussierbar ist. Wenn Das Element fokussierbar sein soll, überschreiben Sie die Metadaten für diese Eigenschaft im statischen Konstruktor Ihres Typs wie folgt:

FocusableProperty.OverrideMetadata(typeof(myElement), new UIPropertyMetadata(true));
FocusableProperty.OverrideMetadata(GetType(myElement), New UIPropertyMetadata(True))

myElement sollte der Klassenname des Typs sein, für den Sie den Metadatenwert außer Kraft setzen.

Gilt für:

Weitere Informationen