Style Style Style Style Class

Определение

Обеспечивает возможность совместного использования свойств, ресурсов и обработчиков событий экземплярами типа.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
[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
type Style = class
    inherit DispatcherObject
    interface INameScope
    interface IAddChild
    interface IQueryAmbient
Public Class Style
Inherits DispatcherObject
Implements IAddChild, INameScope, IQueryAmbient
Наследование
Атрибуты
Реализации

Примеры

В следующем примере показано объявление стиля, которое будет влиять Background на свойство 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>

Чтобы применить приведенный выше стиль, выполните следующие действия.To apply the above style, do the following:

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

Стили можно также применить ко всем элементам заданного типа с помощью TargetType свойства.You can also apply styles to all elements of a given type by using the TargetType property. Добавление целевого типа к стилю означает, что больше не нужно полностью определять свойство, которое вы задаете с помощью ClassName.PropertyName синтаксиса.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. В следующем примере определяется стиль, который будет применен к каждому TextBlock элементу.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>

Примечание

Многие WPFWPF элементы управления состоят из сочетания других WPFWPF элементов управления, поэтому создание стиля, применяемого ко всем элементам управления типа, может иметь широкие последствия.Many WPFWPF controls consist of a combination of other WPFWPF controls, so creating a style that applies to all controls of a type can have broad impact. Например, при создании стиля, TextBlock предназначенного для элементов управления Canvasв, стиль применяется ко всем TextBlock TextBlock элементам управления на холсте, даже если является частью другого элемента управления, например 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.

Сведения о том, как расширить или наследовать из определенного стиля, см. BasedOn на странице.For information on how to extend or inherit from a defined style, see the BasedOn page.

Комментарии

Можно задать Style для любого элемента, производного от FrameworkElement или FrameworkContentElement.You can set a Style on any element that derives from FrameworkElement or FrameworkContentElement. Стиль чаще всего объявляется как ресурс внутри Resources раздела.A style is most commonly declared as a resource inside the Resources section. Так как стили являются ресурсами, они подчиняются тем же правилам области, которые применяются ко всем ресурсам, поэтому объявление стиля влияет на место его применения.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. Например, если вы объявили стиль в корневом элементе файла определения XAMLXAML приложения, стиль можно использовать в любом месте приложения.If, for instance, you declare the style in the root element of your application definition XAMLXAML file, the style can be used anywhere in your application. Если создается приложение навигации и объявляется стиль в одном из XAMLXAML файлов приложения, стиль можно использовать только в этом XAMLXAML файле.If you are creating a navigation application and declare the style in one of the application's XAMLXAML files, the style can be used only in that XAMLXAML file. Дополнительные сведения о правилах области для ресурсов см. в разделе ресурсы XAML.For more information on scoping rules for resources, see XAML Resources.

Объявление стиля состоит из Style объекта, содержащего коллекцию из одного или нескольких Setter объектов.The style declaration consists of a Style object that contains a collection of one or more Setter objects. Каждый Setter из них состоит Property из и Value.Each Setter consists of a Property and a Value. Свойство является именем свойства элемента, к которому применяется стиль.The property is the name of the property of the element the style is to apply to. После объявления стиля в качестве ресурса он может ссылаться так же, как и любой другой ресурс.After the style is declared as a resource, it can then be referenced just like any other resource.

Примечание

Если в коллекции Setter имеется несколько методов задания с одинаковым Property значением свойства, используется метод задания, объявленный последним.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. Аналогично, если задать значение для одного и того же свойства в стиле и в элементе напрямую, то значение, заданное для элемента напрямую, имеет приоритет.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.

Модель Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) стилизации и шаблонов обеспечивает поддержку и совместное использование внешнего вида, а также разделение представления и логики.The Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) styling and templating model allows maintenance and sharing of a look as well as the separation of presentation and logic. Модель стилизации и шаблонов включает набор функций, позволяющих настроить ИПUI.The styling and templating model includes a suite of features that enable you to customize your ИПUI. Этот набор функций включает Style класс, а также следующие компоненты:This suite of features includes the Style class as well as the following:

Более подробную информацию см. в разделе Стилизация и использование шаблонов.For more information, see Styling and Templating.

Конструкторы

Style() Style() Style() Style()

Инициализирует новый экземпляр класса Style.Initializes a new instance of the Style class.

Style(Type) Style(Type) Style(Type) Style(Type)

Инициализирует новый экземпляр класса Style для использования с заданным объектом Type.Initializes a new instance of the Style class to use on the specified Type.

Style(Type, Style) Style(Type, Style) Style(Type, Style) Style(Type, Style)

Инициализирует новый экземпляр класса Style для использования с указанным Type, основанный на заданном Style.Initializes a new instance of the Style class to use on the specified Type and based on the specified Style.

Свойства

BasedOn BasedOn BasedOn BasedOn

Возвращает или задает определенный стиль, являющийся основой текущего стиля.Gets or sets a defined style that is the basis of the current style.

Dispatcher Dispatcher Dispatcher Dispatcher

Возвращает объект Dispatcher, с которым связан этот объект DispatcherObject.Gets the Dispatcher this DispatcherObject is associated with.

(Inherited from DispatcherObject)
IsSealed IsSealed IsSealed IsSealed

Возвращает значение, указывающее, доступен ли стиль только для чтения.Gets a value that indicates whether the style is read-only and cannot be changed.

Resources Resources Resources Resources

Возвращает или задает коллекцию ресурсов, которые могут использоваться в области видимости данного стиля.Gets or sets the collection of resources that can be used within the scope of this style.

Setters Setters Setters Setters

Возвращает коллекцию объектов Setter и EventSetter.Gets a collection of Setter and EventSetter objects.

TargetType TargetType TargetType TargetType

Возвращает или задает тип, для которого предназначен данный стиль.Gets or sets the type for which this style is intended.

Triggers Triggers Triggers Triggers

Возвращает коллекцию объектов TriggerBase, применяющих значения свойств на основе заданных условий.Gets a collection of TriggerBase objects that apply property values based on specified conditions.

Методы

CheckAccess() CheckAccess() CheckAccess() CheckAccess()

Определяет, имеет ли вызывающий поток доступ к этому DispatcherObject.Determines whether the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Возвращает хэш-код для модуля чтения данных Style.Returns the hash code for this Style.

GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
RegisterName(String, Object) RegisterName(String, Object) RegisterName(String, Object) RegisterName(String, Object)

Регистрирует новую пару имя-объект в текущей области имен.Registers a new name-object pair in the current namescope.

Seal() Seal() Seal() Seal()

Блокирует этот стиль и все фабрики и триггеры, чтобы их нельзя было изменить.Locks this style and all factories and triggers so they cannot be changed.

ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)
UnregisterName(String) UnregisterName(String) UnregisterName(String) UnregisterName(String)

Удаляет из области видимости имен сопоставление имя-объект.Removes a name-object mapping from the namescope.

VerifyAccess() VerifyAccess() VerifyAccess() VerifyAccess()

Обеспечивает наличие у вызывающего потока доступ к этому DispatcherObject.Enforces that the calling thread has access to this DispatcherObject.

(Inherited from DispatcherObject)

Явные реализации интерфейса

IAddChild.AddChild(Object) IAddChild.AddChild(Object) IAddChild.AddChild(Object) IAddChild.AddChild(Object)

Добавляет дочерний объект.Adds a child object.

IAddChild.AddText(String) IAddChild.AddText(String) IAddChild.AddText(String) IAddChild.AddText(String)

Добавляет текстовое содержимое узла в объект.Adds the text content of a node to the object.

INameScope.FindName(String) INameScope.FindName(String) INameScope.FindName(String) INameScope.FindName(String)

Возвращает объект, имеющий предоставленное идентифицирующее имя.Returns an object that has the provided identifying name.

IQueryAmbient.IsAmbientPropertyAvailable(String) IQueryAmbient.IsAmbientPropertyAvailable(String) IQueryAmbient.IsAmbientPropertyAvailable(String) IQueryAmbient.IsAmbientPropertyAvailable(String)

Запрашивает, доступно ли заданное внешнее свойство в текущей области.Queries whether a specified ambient property is available in the current scope.

ISealable.CanSeal ISealable.CanSeal ISealable.CanSeal ISealable.CanSeal
ISealable.IsSealed ISealable.IsSealed ISealable.IsSealed ISealable.IsSealed
ISealable.Seal() ISealable.Seal() ISealable.Seal() ISealable.Seal()

Применяется к

Дополнительно