(0) exportieren Drucken
Alle erweitern
Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

UIElement.Focusable-Eigenschaft

Ruft einen Wert ab bzw. legt einen Wert fest, der angibt, ob das Element den Fokus erhalten kann. Dies ist eine Abhängigkeitseigenschaft.

Namespace:  System.Windows
Assembly:  PresentationCore (in PresentationCore.dll)
XMLNS für XAML: http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
public bool Focusable { get; set; }
<object Focusable="bool" .../>

Eigenschaftswert

Typ: System.Boolean
true , wenn das Element den Fokus erhalten kann, andernfalls false. Der Standardwert ist false. Weitere Informationen hierzu finden Sie jedoch in den Hinweisen.

Implementiert

IInputElement.Focusable

Bezeichnerfeld

FocusableProperty

Auf true festgelegte Metadateneigenschaften

Kein

Nur das fokussierte Element empfängt Tastatureingaben.

Focusable ist der Microsoft .NET-Eigenschaftenaccessor für das, was in Wirklichkeit eine Abhängigkeitseigenschaft ist. Diese spezielle Abhängigkeitseigenschaft verfügt relativ häufig über einen offensichtlichen Standardwert, der in abgeleiteten Elementklassen, insbesondere in Steuerelementen, auf einen anderen Wert festgelegt ist. Hierfür gibt es im Allgemeinen zwei Möglichkeiten:

  • Die Abhängigkeitseigenschaft wird von einer bestimmten abgeleiteten Klasse geerbt, diese abgeleitete Klasse überschreibt jedoch die Metadaten der Abhängigkeitseigenschaft und ändert deren Standardwert.

  • Ein Stil oder eine Vorlage wird auf ein Element angewendet, der bzw. die einen anderen Wert für die Abhängigkeitseigenschaft festlegt.

Beispielsweise ist der offensichtliche Standardwert von Focusable für ein Button-Steuerelement true, auch wenn ButtonFocusable als common language runtime (CLR)-Eigenschaft direkt von UIElement erbt. Dies liegt daran, dass der angewendete Metadatenwert für die Abhängigkeitseigenschaft Focusable im statischen Konstruktor der Control-Basisklasse überschrieben wurde, die in der Klassenhierarchie zwischen Button und UIElement liegt.

Bei Erben durch Control oder die davon abgeleiteten Klassen ändert Control den Standardwert dieser Eigenschaft in true.

Bei Erben durch Label (eine von Control abgeleitete Klase) wird der Standardwert wieder auf false festgelegt.

Hinweise zur Vererbung

Bei einer direkten Ableitung von UIElement (im Unterschied zu einer Ableitung von Control) muss berücksichtigt werden, ob das Element fokussierbar sein soll, da das Element den Fokus standardmäßig nicht erhalten kann. Wenn das Element fokussierbar sein soll, müssen Sie die Metadaten für diese Eigenschaft im statischen Konstruktor des Typs wie folgt überschreiben:


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


Dabei muss myElement der Klassenname des Typs sein, für den der Metadatenwert überschrieben wird.

Im folgenden Beispielcode wird eine Steuerelementvorlage für ein bestimmtes benutzerdefiniertes Steuerelement veranschaulicht, die Focusable für eines der Elemente in der Vorlage auf false 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>


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.