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 Formatvorlagendeklaration, die sich auf die Background Eigenschaft einer .Control

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

Gehen Sie wie folgt vor, um die obige Formatvorlage anzuwenden:

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

Sie können auch Formatvorlagen auf alle Elemente eines bestimmten Typs anwenden, indem Sie die TargetType Eigenschaft verwenden. Das Hinzufügen des Zieltyps zur Formatvorlage bedeutet, dass Sie die Eigenschaft, die Sie mit der ClassName.PropertyName Syntax festlegen, nicht mehr vollständig qualifizieren müssen. Im folgenden Beispiel wird eine Formatvorlage definiert, die auf jedes TextBlock Element angewendet 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 einer Formatvorlage, die für alle Steuerelemente eines Typs gilt, eine breite Auswirkung haben kann. Wenn Sie beispielsweise eine Formatvorlage erstellen, die auf die TextBlock Steuerelemente in einem CanvasZiel ausgerichtet ist, wird die Formatvorlage auf alle TextBlock Steuerelemente im Canvas angewendet, auch wenn der TextBlock Teil eines anderen Steuerelements ist, z. B. ein ListBox.

Informationen zum Erweitern oder Erben von einer definierten Formatvorlage finden Sie auf der BasedOn Seite.

Hinweise

Sie können ein Style beliebiges Element festlegen, das von FrameworkElement oder FrameworkContentElementaus abgeleitet wird. Eine Formatvorlage wird am häufigsten als Ressource innerhalb des Resources Abschnitts deklariert. Da Formatvorlagen Ressourcen sind, unterliegen sie den gleichen Rahmenregeln, die für alle Ressourcen gelten, sodass sie sich auf die Art auswirken, an der sie angewendet werden kann. Wenn Sie beispielsweise die Formatvorlage im Stammelement Ihrer XAML-Datei der Anwendungsdefinition deklarieren, kann die Formatvorlage an einer beliebigen Stelle in Ihrer Anwendung verwendet werden. Wenn Sie eine Navigationsanwendung erstellen und die Formatvorlage in einer der XAML-Dateien der Anwendung deklarieren, kann die Formatvorlage nur in dieser XAML-Datei verwendet werden. Weitere Informationen zum Festlegen von Regeln für Ressourcen finden Sie unter XAML-Ressourcen.

Die Formatvorlagendeklaration besteht aus einem Style Objekt, das eine Auflistung eines oder mehrerer Setter Objekte enthält. Jede Setter besteht aus einem Property und einem Value. Die Eigenschaft ist der Name der Eigenschaft des Elements, auf das die Formatvorlage angewendet werden soll. Nachdem die Formatvorlage als Ressource deklariert wurde, kann sie wie jede andere Ressource darauf verwiesen werden.

Hinweis

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

Das Windows Presentation Foundation (WPF)-Formatierungs- und Vorlagenmodell ermöglicht die Wartung und Freigabe eines Aussehens sowie die Trennung von Präsentation und Logik. Das Format- 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