UIElement.Focusable Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft einen Wert ab bzw. legt einen Wert fest, der angibt, ob das Element den Fokus erhalten 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 den Fokus erhalten kann, andernfalls false
. Der Standardwert ist false
.
Implementiert
Beispiele
Der folgende Beispielcode veranschaulicht eine Steuerelementvorlage für ein bestimmtes benutzerdefiniertes Steuerelement, das auf 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.
Focusableist der Microsoft .NET-Eigenschaftsaccessor für die tatsächlich eine Abhängigkeitseigenschaft ist. Für diese bestimmte Abhängigkeitseigenschaft wird häufig der scheinbare Standardwert in abgeleiteten Elementklassen unterschiedlich festgelegt, insbesondere in Steuerelementen. Dies geschieht häufig auf eine von zwei Arten:
Die Abhängigkeitseigenschaft wird von einer bestimmten abgeleiteten Klasse geerbt, aber diese abgeleitete Klasse überschreibt 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 unterschiedlich festlegt.
Der scheinbare "Standard" von Focusable für ein Button Steuerelement ist true
beispielsweise , obwohl Button als CLR-Eigenschaft (Common Language Runtime) direkt von UIElementgeerbt Focusable wird. Dies liegt daran, dass der angewendete Metadatenwert für die Focusable Abhängigkeitseigenschaft innerhalb des statischen Konstruktors der Basisklasse überschrieben wurde, der Control sich zwischen Button und UIElement in der Klassenhierarchie befindet.
Wenn von Control oder den abgeleiteten Klassen geerbt wird, Control wird der Standardwert dieser Eigenschaft in true
neu definiert.
Wenn er von Label geerbt wird (bei der es sich um eine Control abgeleitete Klasse handelt), wird der Standardwert erneut so neu definiert, dass er lautet false
.
Informationen zur Abhängigkeitseigenschaft
Bezeichnerfeld | FocusableProperty |
Metadateneigenschaften auf true festgelegt |
Keine |
Hinweise für Vererber
Wenn Sie von UIElement direkt (im Gegensatz zu ) Controlabgeleitet werden, sollten Sie überlegen, ob Ihr 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 myElement
sollte der Klassenname des Typs sein, für den Sie den Metadatenwert überschreiben.
Gilt für:
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für