Style Klasa

Definicja

Umożliwia udostępnianie właściwości, zasobów i procedur obsługi zdarzeń między wystąpieniami typu.

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
Dziedziczenie
Atrybuty
Implementuje

Przykłady

W poniższym przykładzie pokazano deklarację stylu, która będzie mieć wpływ na Background właściwość obiektu Control.

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

Aby zastosować powyższy styl, wykonaj następujące czynności:

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

Można również zastosować style do wszystkich elementów danego typu przy użyciu TargetType właściwości . Dodanie typu docelowego do stylu oznacza, że nie trzeba już w pełni kwalifikować właściwości, którą ustawiasz za pomocą ClassName.PropertyName składni. W poniższym przykładzie zdefiniowano styl, który zostanie zastosowany do każdego TextBlock elementu.

<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>

Uwaga

Wiele kontrolek WPF składa się z kombinacji innych kontrolek WPF, więc utworzenie stylu, który ma zastosowanie do wszystkich kontrolek typu, może mieć szeroki wpływ. Jeśli na przykład utworzysz styl przeznaczony TextBlock dla kontrolek w elemecie Canvas, styl zostanie zastosowany do wszystkich TextBlock kontrolek na kanwie, nawet jeśli TextBlock element jest częścią innej kontrolki, takiej jak ListBox.

Aby uzyskać informacje na temat rozszerzania lub dziedziczenia ze zdefiniowanego stylu, zobacz BasedOn stronę.

Uwagi

Można ustawić Style dla dowolnego elementu, który pochodzi z FrameworkElement lub FrameworkContentElement. Styl jest najczęściej deklarowany jako zasób wewnątrz Resources sekcji. Ponieważ style są zasobami, są zgodne z tymi samymi regułami określania zakresu, które mają zastosowanie do wszystkich zasobów, dzięki czemu deklarowanie stylu wpływa na to, gdzie można je zastosować. Jeśli na przykład zadeklarujesz styl w głównym elemecie pliku XAML definicji aplikacji, styl może być używany w dowolnym miejscu w aplikacji. Jeśli tworzysz aplikację nawigacji i deklarujesz styl w jednym z plików XAML aplikacji, styl może być używany tylko w tym pliku XAML. Aby uzyskać więcej informacji na temat reguł określania zakresu dla zasobów, zobacz Zasoby XAML.

Deklaracja stylu składa się z Style obiektu zawierającego kolekcję co najmniej Setter jednego obiektu. Każda z nich Setter składa się z elementu Property i .Value Właściwość jest nazwą właściwości elementu, do której ma być stosowany styl. Po zadeklarowaniu stylu jako zasobu można go odwołać tak samo jak w przypadku dowolnego innego zasobu.

Uwaga

Jeśli w kolekcji setter istnieje więcej niż jeden zestaw o tej samej Property wartości właściwości, jest używany zestaw, który jest zadeklarowany ostatnio. Podobnie, jeśli ustawisz wartość dla tej samej właściwości w stylu i na elemencie bezpośrednio, wartość ustawiona na elemencie bezpośrednio ma pierwszeństwo.

Styl Windows Presentation Foundation (WPF) i model tworzenia szablonów umożliwia konserwację i udostępnianie wyglądu, a także separację prezentacji i logiki. Model stylów i tworzenia szablonów zawiera zestaw funkcji, które umożliwiają dostosowanie interfejsu użytkownika. Ten pakiet funkcji obejmuje klasę Style , a także następujące elementy:

Aby uzyskać więcej informacji, zobacz Styling and Templating (Styling i Templating).

Konstruktory

Style()

Inicjuje nowe wystąpienie klasy Style.

Style(Type)

Inicjuje Style nowe wystąpienie klasy do użycia w określonym obiekcie Type.

Style(Type, Style)

Inicjuje Style nowe wystąpienie klasy do użycia w określonym Type i na podstawie określonego Styleelementu .

Właściwości

BasedOn

Pobiera lub ustawia zdefiniowany styl, który jest podstawą bieżącego stylu.

Dispatcher

Dispatcher Pobiera tę DispatcherObject wartość skojarzona z.

(Odziedziczone po DispatcherObject)
IsSealed

Pobiera wartość wskazującą, czy styl jest tylko do odczytu i nie można go zmienić.

Resources

Pobiera lub ustawia kolekcję zasobów, które mogą być używane w zakresie tego stylu.

Setters

Pobiera kolekcję Setter obiektów i EventSetter .

TargetType

Pobiera lub ustawia typ, dla którego ma być przeznaczony ten styl.

Triggers

Pobiera kolekcję TriggerBase obiektów, które stosują wartości właściwości na podstawie określonych warunków.

Metody

CheckAccess()

Określa, czy wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Zwraca kod skrótu dla tego pliku Style.

GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
RegisterName(String, Object)

Rejestruje nową parę name-object w bieżącym zakresie nazw.

Seal()

Blokuje ten styl i wszystkie fabryki i wyzwalacze, aby nie można było ich zmienić.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
UnregisterName(String)

Usuwa mapowanie obiektów nazw z zakresu nazw.

VerifyAccess()

Wymusza, że wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)

Jawne implementacje interfejsu

IAddChild.AddChild(Object)

Dodaje obiekt podrzędny.

IAddChild.AddText(String)

Dodaje zawartość tekstową węzła do obiektu.

INameScope.FindName(String)

Zwraca obiekt, który ma podaną nazwę identyfikującą.

IQueryAmbient.IsAmbientPropertyAvailable(String)

Sprawdza, czy określona właściwość otoczenia jest dostępna w bieżącym zakresie.

Dotyczy

Zobacz też