Style Klasa

Definicja

Włącza udostępnianie właściwości, zasobów i programów obsługi zdarzeń między wystąpieniami typu.Enables the sharing of properties, resources, and event handlers between instances of a type.

public ref class Style : System::Windows::Threading::DispatcherObject, System::Windows::Markup::IAddChild, System::Windows::Markup::INameScope, System::Windows::Markup::IQueryAmbient
public ref 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")]
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")>]
type Style = class
    inherit DispatcherObject
    interface IAddChild
    interface INameScope
    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 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
Public Class Style
Inherits DispatcherObject
Implements IAddChild, INameScope, IQueryAmbient
Public Class Style
Inherits DispatcherObject
Implements IAddChild, INameScope
Dziedziczenie
Atrybuty
Implementuje

Przykłady

W poniższym przykładzie pokazano deklarację stylu, która będzie miała wpływ na Background Właściwość Control .The following example shows a style declaration that will affect the Background property of a Control.

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

Aby zastosować powyższy styl, wykonaj następujące czynności:To apply the above style, do the following:

<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.You can also apply styles to all elements of a given type by using the TargetType property. Dodanie typu docelowego do stylu oznacza, że nie trzeba już w pełni kwalifikować właściwości, która jest ustawiana za pomocą ClassName.PropertyName składni.Adding the target type to the style means that you no longer have to fully qualify the property you are setting with the ClassName.PropertyName syntax. W poniższym przykładzie zdefiniowano styl, który zostanie zastosowany do każdego TextBlock elementu.The following example defines a style that will be applied to every TextBlock element.

<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 formantów WPF, dlatego utworzenie stylu, który ma zastosowanie do wszystkich kontrolek typu, może mieć szeroki wpływ.Many WPF controls consist of a combination of other WPF controls, so creating a style that applies to all controls of a type can have broad impact. Na przykład jeśli utworzysz styl, który jest przeznaczony dla TextBlock kontrolek w Canvas , styl jest stosowany do wszystkich TextBlock kontrolek na kanwie, nawet jeśli TextBlock jest częścią innej kontrolki, takiej jak ListBox .For instance, if you create a style that targets the TextBlock controls in a Canvas, the style is applied to all TextBlock controls in the canvas, even if the TextBlock is part of another control, such as a ListBox.

Aby uzyskać informacje na temat sposobu rozszerzającania lub dziedziczenia zdefiniowanego stylu, zobacz BasedOn stronę.For information on how to extend or inherit from a defined style, see the BasedOn page.

Uwagi

Można ustawić Style na dowolnym elemencie, który pochodzi z FrameworkElement lub FrameworkContentElement .You can set a Style on any element that derives from FrameworkElement or FrameworkContentElement. Styl jest najczęściej zadeklarowany jako zasób w Resources sekcji.A style is most commonly declared as a resource inside the Resources section. Ponieważ style są zasobami, przestrzegają one tych samych reguł określania zakresu, które mają zastosowanie do wszystkich zasobów, dlatego w przypadku deklarowania stylu ma wpływ na miejsce, w którym można go zastosować.Because styles are resources, they obey the same scoping rules that apply to all resources, so where you declare a style affects where it can be applied. Jeśli na przykład zadeklarujesz styl w elemencie głównym pliku XAML definicji aplikacji, styl może być używany w dowolnym miejscu aplikacji.If, for instance, you declare the style in the root element of your application definition XAML file, the style can be used anywhere in your application. Jeśli tworzysz aplikację nawigacji i deklarujesz styl w jednej z plików XAML aplikacji, styl może być używany tylko w tym pliku XAML.If you are creating a navigation application and declare the style in one of the application's XAML files, the style can be used only in that XAML file. Aby uzyskać więcej informacji na temat określania zakresu reguł dla zasobów, zobacz zasoby XAML.For more information on scoping rules for resources, see XAML Resources.

Deklaracja stylu składa się z Style obiektu, który zawiera kolekcję jednego lub większej liczby Setter obiektów.The style declaration consists of a Style object that contains a collection of one or more Setter objects. Każda z nich Setter składa się z Property i Value .Each Setter consists of a Property and a Value. Właściwość jest nazwą właściwości elementu, do którego ma zostać zastosowany styl.The property is the name of the property of the element the style is to apply to. Gdy styl zostanie zadeklarowany jako zasób, będzie można się do niego odwoływać podobnie jak każdy inny zasób.After the style is declared as a resource, it can then be referenced just like any other resource.

Uwaga

Jeśli istnieje więcej niż jedna Metoda ustawiająca w kolekcji setter z tą samą Property wartością właściwości, używana jest Metoda ustawiająca, która jest zadeklarowana jako Last.If there is more than one setter in the setter collection with the same Property property value, the setter that is declared last is used. Analogicznie, jeśli ustawisz wartość dla tej samej właściwości w stylu i bezpośrednio na elemencie, wartość ustawiona na elemencie ma bezpośredni priorytet.Similarly, if you set a value for the same property in a style and on an element directly, the value set on the element directly takes precedence.

Style Windows Presentation Foundation (WPF) i model tworzenia szablonów umożliwiają konserwację i udostępnianie wyglądu, a także separację prezentacji i logiki.The Windows Presentation Foundation (WPF) styling and templating model allows maintenance and sharing of a look as well as the separation of presentation and logic. Model stylów i tworzenia szablonów zawiera zestaw funkcji, które umożliwiają dostosowanie interfejsu użytkownika.The styling and templating model includes a suite of features that enable you to customize your UI. Ten pakiet funkcji obejmuje Style również następujące elementy:This suite of features includes the Style class as well as the following:

Aby uzyskać więcej informacji, zobacz Style i tworzenia szablonów.For more information, see Styling and Templating.

Konstruktory

Style()

Inicjuje nowe wystąpienie klasy Style.Initializes a new instance of the Style class.

Style(Type)

Inicjuje nowe wystąpienie Style klasy do użycia w określonym Type .Initializes a new instance of the Style class to use on the specified Type.

Style(Type, Style)

Inicjuje nowe wystąpienie Style klasy do użycia w określonym Type i na podstawie określonego Style .Initializes a new instance of the Style class to use on the specified Type and based on the specified Style.

Właściwości

BasedOn

Pobiera lub ustawia zdefiniowany styl, który jest podstawą bieżącego stylu.Gets or sets a defined style that is the basis of the current style.

Dispatcher

Pobiera Dispatcher ten DispatcherObject program jest skojarzony z.Gets the Dispatcher this DispatcherObject is associated with.

(Odziedziczone po DispatcherObject)
IsSealed

Pobiera wartość wskazującą, czy styl jest tylko do odczytu i nie można go zmienić.Gets a value that indicates whether the style is read-only and cannot be changed.

Resources

Pobiera lub ustawia kolekcję zasobów, które mogą być używane w ramach zakresu tego stylu.Gets or sets the collection of resources that can be used within the scope of this style.

Setters

Pobiera kolekcję Setter EventSetter obiektów i.Gets a collection of Setter and EventSetter objects.

TargetType

Pobiera lub ustawia typ, dla którego jest przeznaczony ten styl.Gets or sets the type for which this style is intended.

Triggers

Pobiera kolekcję TriggerBase obiektów, które stosują wartości właściwości na podstawie określonych warunków.Gets a collection of TriggerBase objects that apply property values based on specified conditions.

Metody

CheckAccess()

Określa, czy wątek wywołujący ma dostęp do tego DispatcherObject .Determines whether the calling thread has access to this DispatcherObject.

(Odziedziczone po DispatcherObject)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Zwraca kod skrótu dla tego elementu Style .Returns the hash code for this Style.

GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
RegisterName(String, Object)

Rejestruje nową parę nazwa-obiekt w bieżącym namescope.Registers a new name-object pair in the current namescope.

Seal()

Blokuje ten styl i wszystkie fabryki i wyzwalacze, aby nie można było ich zmienić.Locks this style and all factories and triggers so they cannot be changed.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)
UnregisterName(String)

Usuwa mapowanie obiektu Name-Object z namescope.Removes a name-object mapping from the namescope.

VerifyAccess()

Wymusza, że wątek wywołujący ma dostęp do tego DispatcherObject .Enforces that the calling thread has access to this DispatcherObject.

(Odziedziczone po DispatcherObject)

Jawne implementacje interfejsu

IAddChild.AddChild(Object)

Dodaje obiekt podrzędny.Adds a child object.

IAddChild.AddText(String)

Dodaje zawartość tekstową węzła do obiektu.Adds the text content of a node to the object.

INameScope.FindName(String)

Zwraca obiekt, który ma podaną nazwę identyfikującą.Returns an object that has the provided identifying name.

IQueryAmbient.IsAmbientPropertyAvailable(String)

Pyta, czy określona właściwość otoczenia jest dostępna w bieżącym zakresie.Queries whether a specified ambient property is available in the current scope.

Dotyczy