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

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

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