Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

UIElement.Focusable-Eigenschaft

 

Veröffentlicht: Oktober 2016

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.

Namespace:   System.Windows
Assembly:  PresentationCore (in PresentationCore.dll)

public bool Focusable { get; set; }

Eigenschaftswert

Type: System.Boolean

true, wenn das Element den Fokus erhalten kann, andernfalls false. Der Standardwert ist false. Informationen dazu finden Sie unter „Hinweise“.

Nur das fokussierte Element empfängt Tastatureingaben.

Focusable ist die Microsoft .NET Eigenschaftenaccessor für was in Wirklichkeit eine Abhängigkeitseigenschaft ist. Diese bestimmte Abhängigkeitseigenschaft verfügt relativ häufig über einen offensichtlichen "Default"-Wert, der in abgeleiteten Elementklassen, insbesondere in Steuerelementen festgelegt. Dieser Fehler tritt häufig in einer von zwei Methoden:

  • Die Abhängigkeitseigenschaft wird von einer bestimmten abgeleiteten Klasse geerbt, aber, die abgeleitete Klasse überschreibt der Metadaten der Abhängigkeitseigenschaft und den Standardwert der Eigenschaft ändert.

  • Einen Stil oder eine Vorlage wird auf ein Element angewendet, der Wert einer Abhängigkeitseigenschaft anders festgelegt.

Z. B. die scheinbare "Default" des Focusable für ein Button -Steuerelement ist, true, obwohl Button erbt Focusable als ein Common Language Runtime (CLR) -Eigenschaft direkt von UIElement. Ist der angewendete Metadatenwert für die Focusable im statischen Konstruktor der Abhängigkeitseigenschaft überschrieben wurde die Control Basisklasse zwischen liegt Button und UIElement in der Klassenhierarchie.

Bei erben durch Control oder deren abgeleiteten Klassen Control legt den neuen Standardwert dieser Eigenschaft werden true.

Bei erben durch Label (Dies ist eine Control abgeleitete Klasse), der Standardwert wird erneut neu definiert werden false.

Feld-ID

FocusableProperty

Festgelegte Metadateneigenschaften true

NONE

Hinweise für Vererber:

Beim Ableiten von UIElement direkt (im Gegensatz zu von Control), überlegen Sie, ob das Element den Fokus erhalten kann, sein, da standardmäßig das Element nicht in den Fokus erhalten soll. Wenn Sie das Element den Fokus erhalten sein möchten, überschreiben Sie die Metadaten für diese Eigenschaft im statischen Konstruktor des Typs wie folgt:

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

wobei myElement muss der Klassenname des Typs, der den Metadatenwert überschrieben wird.

Im folgenden Codebeispiel wird veranschaulicht, eine Steuerelementvorlage für ein bestimmtes benutzerdefiniertes Steuerelement, das festlegt Focusable false auf eines der Elemente in der Vorlage. 

.NET Framework
Verfügbar seit 3.0
Zurück zum Anfang
Anzeigen: