Style Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Обеспечивает возможность совместного использования свойств, ресурсов и обработчиков событий экземплярами типа.
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
- Наследование
- Атрибуты
- Реализации
Примеры
В следующем примере показано объявление стиля, которое влияет на Background свойство Controlобъекта .
<Style x:Key="Style1">
<Setter Property="Control.Background" Value="Yellow"/>
</Style>
Чтобы применить приведенный выше стиль, сделайте следующее:
<Label Content="Yellow Background" Style="{StaticResource Style1}" />
Стили также можно применять ко всем элементам заданного типа с помощью TargetType свойства . Добавление целевого типа в стиль означает, что вам больше не нужно полностью определять свойство, которое вы задаете с помощью синтаксиса ClassName.PropertyName
. В следующем примере определяется стиль, который будет применяться к каждому TextBlock элементу.
<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>
Примечание
Многие элементы управления WPF состоят из сочетания других элементов управления WPF, поэтому создание стиля, применяемого ко всем элементам управления типа, может иметь широкие последствия. Например, если вы создаете стиль, предназначенный для TextBlock элементов управления в Canvas, стиль применяется ко всем TextBlock элементам управления на холсте TextBlock , даже если является частью другого элемента управления, например ListBox.
Сведения о том, как расширить или наследовать от определенного стиля, см. на BasedOn странице .
Комментарии
Можно задать для любого элемента, производного Style от FrameworkElement или FrameworkContentElement. Стиль чаще всего объявляется как ресурс внутри Resources раздела. Так как стили — это ресурсы, они подчиняются тем же правилам области, которые применяются ко всем ресурсам, поэтому объявление стиля влияет на его применение. Например, если вы объявляете стиль в корневом элементе XAML-файла определения приложения, стиль можно использовать в любом месте приложения. Если вы создаете приложение навигации и объявляете стиль в одном из XAML-файлов приложения, стиль можно использовать только в этом XAML-файле. Дополнительные сведения о правилах определения области для ресурсов см. в разделе Ресурсы XAML.
Объявление стиля состоит из Style объекта , содержащего коллекцию из одного или нескольких Setter объектов. Каждый из них Setter состоит из Property и Value. Свойство — это имя свойства элемента, к который должен применяться стиль. После объявления стиля как ресурса на него можно ссылаться так же, как и на любой другой ресурс.
Примечание
Если в коллекции задается несколько наборов с одним и тем же Property значением свойства, используется метод задания, объявленный последним. Аналогичным образом, если задать значение для того же свойства в стиле и непосредственно в элементе, значение, заданное для элемента, имеет приоритет напрямую.
Модель стилей и шаблонов Windows Presentation Foundation (WPF) позволяет обслуживать и совместно использовать внешний вид, а также разделение представления и логики. Модель стилей и шаблонов включает набор функций, позволяющих настраивать пользовательский интерфейс. Этот набор функций включает в себя класс , Style а также следующее:
Более подробную информацию см. в разделе Стилизация и использование шаблонов.
Конструкторы
Style() |
Инициализирует новый экземпляр класса Style. |
Style(Type) |
Инициализирует новый экземпляр класса Style для использования с заданным объектом Type. |
Style(Type, Style) |
Инициализирует новый экземпляр класса Style для использования с указанным Type, основанный на заданном Style. |
Свойства
BasedOn |
Возвращает или задает определенный стиль, являющийся основой текущего стиля. |
Dispatcher |
Возвращает объект Dispatcher, с которым связан этот объект DispatcherObject. (Унаследовано от DispatcherObject) |
IsSealed |
Возвращает значение, указывающее, доступен ли стиль только для чтения. |
Resources |
Возвращает или задает коллекцию ресурсов, которые могут использоваться в области видимости данного стиля. |
Setters |
Возвращает коллекцию объектов Setter и EventSetter. |
TargetType |
Возвращает или задает тип, для которого предназначен данный стиль. |
Triggers |
Возвращает коллекцию объектов TriggerBase, применяющих значения свойств на основе заданных условий. |
Методы
CheckAccess() |
Определяет, имеет ли вызывающий поток доступ к этому DispatcherObject. (Унаследовано от DispatcherObject) |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Возвращает хэш-код для модуля чтения данных Style. |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
RegisterName(String, Object) |
Регистрирует новую пару имя-объект в текущей области имен. |
Seal() |
Блокирует этот стиль и все фабрики и триггеры, чтобы их нельзя было изменить. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
UnregisterName(String) |
Удаляет из области видимости имен сопоставление имя-объект. |
VerifyAccess() |
Обеспечивает наличие у вызывающего потока доступ к этому DispatcherObject. (Унаследовано от DispatcherObject) |
Явные реализации интерфейса
IAddChild.AddChild(Object) |
Добавляет дочерний объект. |
IAddChild.AddText(String) |
Добавляет к объекту текстовое содержимое узла. |
INameScope.FindName(String) |
Возвращает объект с предоставленным идентифицирующим именем. |
IQueryAmbient.IsAmbientPropertyAvailable(String) |
Запрашивает, доступно ли заданное внешнее свойство в текущей области. |