UIElement.Focusable Eigenschaft

Definition

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das Element den Fokus empfangen kann. Dies ist 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 ist false.

Implementiert

Beispiele

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

<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 wird der scheinbare "Standard" von Focusable für ein Button-Steuerelement true, obwohl ButtonFocusable als ClR-Eigenschaft (Common Language Runtime) direkt von UIElementerbt. Dies liegt daran, dass der angewendete Metadatenwert für die Focusable Abhängigkeitseigenschaft innerhalb des statischen Konstruktors der Control Basisklasse überschrieben wurde, die sich zwischen Button und UIElement in der Klassenhierarchie befindet.

Wenn sie von Control oder abgeleiteten Klassen geerbt wird, definiert Control den Standardwert dieser Eigenschaft neu, um truezu werden.

Wenn sie von Label geerbt wird (eine Control abgeleitete Klasse), wird der Standardwert erneut neu definiert, um falsezu werden.

Informationen zur Abhängigkeitseigenschaft

Bezeichnerfeld FocusableProperty
Auf true festgelegte Metadateneigenschaften Nichts

Hinweise für Vererber

Berücksichtigen Sie beim direkten Ableiten von UIElement (im Gegensatz zu 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))

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

Gilt für:

Weitere Informationen