Style Klasse

Definition

Ermöglicht die gemeinsame Nutzung von Eigenschaften, Ressourcen und Ereignishandlern zwischen Instanzen eines Typs.

public ref class Style : System::Windows::Threading::DispatcherObject, System::Windows::Markup::IAddChild, System::Windows::Markup::INameScope
public ref class Style : System::Windows::Threading::DispatcherObject, System::Windows::Markup::IAddChild, System::Windows::Markup::INameScope, System::Windows::Markup::IQueryAmbient
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
[System.Windows.Markup.ContentProperty("Setters")]
[System.Windows.Markup.DictionaryKeyProperty("TargetType")]
public class Style : System.Windows.Threading.DispatcherObject, System.Windows.Markup.IAddChild, System.Windows.Markup.INameScope
[System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)]
[System.Windows.Markup.ContentProperty("Setters")]
[System.Windows.Markup.DictionaryKeyProperty("TargetType")]
public class Style : System.Windows.Threading.DispatcherObject, System.Windows.Markup.IAddChild, System.Windows.Markup.INameScope, System.Windows.Markup.IQueryAmbient
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.ContentProperty("Setters")>]
[<System.Windows.Markup.DictionaryKeyProperty("TargetType")>]
type Style = class
    inherit DispatcherObject
    interface INameScope
    interface IAddChild
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.ContentProperty("Setters")>]
[<System.Windows.Markup.DictionaryKeyProperty("TargetType")>]
type Style = class
    inherit DispatcherObject
    interface INameScope
    interface IAddChild
    interface IQueryAmbient
[<System.Windows.Localizability(System.Windows.LocalizationCategory.Ignore)>]
[<System.Windows.Markup.ContentProperty("Setters")>]
[<System.Windows.Markup.DictionaryKeyProperty("TargetType")>]
type Style = class
    inherit DispatcherObject
    interface IAddChild
    interface INameScope
    interface IQueryAmbient
Public Class Style
Inherits DispatcherObject
Implements IAddChild, INameScope
Public Class Style
Inherits DispatcherObject
Implements IAddChild, INameScope, IQueryAmbient
Vererbung
Attribute
Implementiert

Beispiele

Das folgende Beispiel zeigt eine Stildeklaration, die sich auf die Background -Eigenschaft eines Control auswirkt.

<Style x:Key="Style1">
  <Setter Property="Control.Background" Value="Yellow"/>
</Style>

Gehen Sie wie folgt vor, um den oben genannten Stil anzuwenden:

<Label Content="Yellow Background" Style="{StaticResource Style1}" />

Sie können stile auch auf alle Elemente eines bestimmten Typs anwenden, indem Sie die TargetType -Eigenschaft verwenden. Das Hinzufügen des Zieltyps zum Stil bedeutet, dass Sie die Eigenschaft, die Sie festlegen, nicht mehr vollständig mit der -Syntax qualifizieren ClassName.PropertyName müssen. Im folgenden Beispiel wird ein Stil definiert, der auf jedes Element angewendet TextBlock wird.

<Style TargetType="{x:Type TextBlock}">
  <Setter Property="FontFamily" Value="Segoe Black" />
  <Setter Property="HorizontalAlignment" Value="Center" />
  <Setter Property="FontSize" Value="12pt" />
  <Setter Property="Foreground" Value="#777777" />
</Style>

Hinweis

Viele WPF-Steuerelemente bestehen aus einer Kombination aus anderen WPF-Steuerelementen, sodass das Erstellen eines Stils, der für alle Steuerelemente eines Typs gilt, umfassende Auswirkungen haben kann. Wenn Sie z. B. einen Stil erstellen, der auf die Steuerelemente in einem ausgerichtet TextBlock Canvas ist, wird der Stil auf alle TextBlock Steuerelemente im Zeichenbereich angewendet, auch wenn der TextBlock Teil eines anderen Steuerelements ist, z. B. ein ListBox .

Informationen zum Erweitern oder Erben eines definierten Stils finden Sie auf der BasedOn Seite.

Hinweise

Sie können für Style jedes Element festlegen, das von oder abgeleitet FrameworkElement FrameworkContentElement ist. Ein Stil wird am häufigsten als Ressource innerhalb des Resources Abschnitts deklariert. Da Stile Ressourcen sind, befolgen sie die gleichen Bereichsregeln, die für alle Ressourcen gelten. Wenn Sie also einen Stil deklarieren, wirkt sich dies darauf aus, wo er angewendet werden kann. Wenn Sie z. B. den Stil im Stammelement der XAML-Datei der Anwendungsdefinition deklarieren, kann der Stil überall in der Anwendung verwendet werden. Wenn Sie eine Navigationsanwendung erstellen und den Stil in einer der XAML-Dateien der Anwendung deklarieren, kann der Stil nur in dieser XAML-Datei verwendet werden. Weitere Informationen zu Bereichsregeln für Ressourcen finden Sie unter XAML-Ressourcen.

Die Stildeklaration besteht aus einem Style -Objekt, das eine Auflistung von mindestens einem Setter -Objekt enthält. Jede Setter besteht aus einem und einem Property Value . Die -Eigenschaft ist der Name der -Eigenschaft des Elements, auf das der Stil angewendet werden soll. Nachdem der Stil als Ressource deklariert wurde, kann auf ihn wie auf jede andere Ressource verwiesen werden.

Hinweis

Wenn in der Setterauflistung mehrere Setter mit demselben Eigenschaftswert vorhanden Property sind, wird der zuletzt deklarierte Setter verwendet. Wenn Sie einen Wert für dieselbe Eigenschaft in einem Stil und direkt für ein Element festlegen, hat der wert, der für das Element festgelegt wird, direkt Vorrang.

Das Windows Presentation Foundation(WPF)-Stil- und Vorlagenmodell ermöglicht die Wartung und Freigabe eines Aussehens sowie die Trennung von Darstellung und Logik. Das Stil- und Vorlagenmodell enthält eine Reihe von Features, mit denen Sie Ihre Benutzeroberfläche anpassen können. Diese Suite von Features umfasst die Style -Klasse sowie Folgendes:

Weitere Informationen finden Sie unter Erstellen von Formaten und Vorlagen.

Konstruktoren

Style()

Initialisiert eine neue Instanz der Style-Klasse.

Style(Type)

Initialisiert eine neue Instanz der Style-Klasse zur Verwendung für den angegebenen Type.

Style(Type, Style)

Initialisiert eine neue Instanz der Style-Klasse zur Verwendung für den angegebenen Type und auf Grundlage des angegebenen Style.

Eigenschaften

BasedOn

Ruft einen definierten Stil ab, der die Grundlage für den aktuellen Stil ist, oder legt diesen fest.

Dispatcher

Ruft den Dispatcher ab, der diesem DispatcherObject zugeordnet ist.

(Geerbt von DispatcherObject)
IsSealed

Ruft einen Wert ab, der angibt, ob der Stil schreibgeschützt ist und nicht geändert werden kann.

Resources

Ruft die Auflistung von Ressourcen ab, die innerhalb des Bereichs dieses Stils verwendet werden können, oder legt sie fest.

Setters

Ruft eine Auflistung von Setter-Objekten und EventSetter-Objekten ab.

TargetType

Ruft den Typ ab, für den dieser Stil vorgesehen ist, oder legt ihn fest.

Triggers

Ruft eine Auflistung von TriggerBase-Objekten ab, die Eigenschaftswerte auf Grundlage bestimmter Bedingungen anwenden.

Methoden

CheckAccess()

Bestimmt, ob der aufrufende Thread auf dieses DispatcherObject zugreifen kann.

(Geerbt von DispatcherObject)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Gibt den Hashcode für diesen Style zurück.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
RegisterName(String, Object)

Registriert ein neues Name/Objekt-Paar im aktuellen Namescope.

Seal()

Sperrt diesen Stil und alle Factorys und Trigger, damit sie nicht geändert werden können.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
UnregisterName(String)

Entfernt eine Name/Objekt-Zuordnung aus dem Namescope.

VerifyAccess()

Erzwingt, dass der aufrufende Thread auf dieses DispatcherObject zugreifen kann.

(Geerbt von DispatcherObject)

Explizite Schnittstellenimplementierungen

IAddChild.AddChild(Object)

Fügt ein untergeordnetes Objekt hinzu.

IAddChild.AddText(String)

Fügt dem Objekt den Textinhalt eines Knotens hinzu.

INameScope.FindName(String)

Gibt ein Objekt zurück, das über den bereitgestellten kennzeichnenden Namen verfügt.

IQueryAmbient.IsAmbientPropertyAvailable(String)

Fragt ab, ob eine angegebene Ambient-Eigenschaft im aktuellen Bereich verfügbar ist.

Gilt für

Siehe auch