Style Klasse
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.
Ermöglicht die Freigabe 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 Formatdeklaration, 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 formatvorlagen auch 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 anderer WPF-Steuerelemente, 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 CanvasSteuerelement ausgerichtet ist, wird die Formatvorlage 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 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 Es sich bei Formatvorlagen um Ressourcen handelt, folgen sie den gleichen Bereichsregeln, die für alle Ressourcen gelten, sodass sie sich darauf auswirken, wo eine Formatvorlage angewendet werden kann. Wenn Sie z. B. die Formatvorlage im Stammelement der 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 Bereichsdefinition von Regeln für Ressourcen finden Sie unter XAML-Ressourcen.
Die Formatvorlagendeklaration besteht aus einem Style Objekt, das eine Auflistung eines oder Setter mehrerer Objekte enthält. Jeder 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 referenziert 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 direkt für ein Element festlegen, hat der für das Element festgelegte Wert vorrang.
Das Formatieren und Vorlagenmodell von Windows Presentation Foundation (WPF) 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 Reihe von Features umfasst die Style Klasse sowie folgendes:
Weitere Informationen finden Sie unter "Formatieren und Vorlagen".
Konstruktoren
| Name | Beschreibung |
|---|---|
| Style() |
Initialisiert eine neue Instanz der Style-Klasse. |
| Style(Type, Style) |
Initialisiert eine neue Instanz der Klasse, die Style für das angegebene Type und basierend auf dem angegebenen verwendet Stylewerden soll. |
| Style(Type) |
Initialisiert eine neue Instanz der Klasse, die Style für die angegebene Klasse verwendet Typewerden soll. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| BasedOn |
Dient zum Abrufen oder Festlegen einer definierten Formatvorlage, die die Basis der aktuellen Formatvorlage ist. |
| Dispatcher |
Ruft dies Dispatcher ab, dem dies DispatcherObject zugeordnet ist. (Geerbt von DispatcherObject) |
| IsSealed |
Ruft einen Wert ab, der angibt, ob die Formatvorlage schreibgeschützt ist und nicht geändert werden kann. |
| Resources |
Dient zum Abrufen oder Festlegen der Auflistung von Ressourcen, die innerhalb des Bereichs dieser Formatvorlage verwendet werden können. |
| Setters |
Ruft eine Auflistung von Setter und EventSetter Objekten ab. |
| TargetType |
Ruft den Typ ab, für den diese Formatvorlage vorgesehen ist, oder legt diesen fest. |
| Triggers |
Ruft eine Auflistung von TriggerBase Objekten ab, die Eigenschaftswerte basierend auf angegebenen Bedingungen anwenden. |
Methoden
| Name | Beschreibung |
|---|---|
| CheckAccess() |
Bestimmt, ob der aufrufende Thread Zugriff auf diesen DispatcherObjectThread hat. (Geerbt von DispatcherObject) |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| GetHashCode() |
Gibt den Hashcode für diesen StyleCode zurück. |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| RegisterName(String, Object) |
Registriert ein neues Name-Objekt-Paar im aktuellen NameScope. |
| Seal() |
Sperrt diesen Stil und alle Fabriken und Trigger, sodass 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 Namensobjektzuordnung aus dem NameScope. |
| VerifyAccess() |
Erzwingt, dass der aufrufende Thread Zugriff auf diesen DispatcherObjectThread hat. (Geerbt von DispatcherObject) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| 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 den angegebenen Identifikationsnamen aufweist. |
| IQueryAmbient.IsAmbientPropertyAvailable(String) |
Fragt ab, ob eine angegebene Umgebungseigenschaft im aktuellen Bereich verfügbar ist. |