FrameworkElement.Style Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
public:
property Style ^ Style { Style ^ get(); void set(Style ^ value); };
Style Style();
void Style(Style value);
public Style Style { get; set; }
var style = frameworkElement.style;
frameworkElement.style = style;
Public Property Style As Style
<frameworkElement Style="{StaticResource styleResourceKey}"/>
Значение свойства
Примененный стиль для объекта , если он имеется; в противном случае — null. Значение по умолчанию для FrameworkElement , созданного по умолчанию, равно null.
Комментарии
Непосредственное задание свойства Style не является самым распространенным способом оформления элемента пользовательского интерфейса. Вместо этого вы влияете на внешний вид элемента пользовательского интерфейса с помощью одного из следующих методов:
- Вы часто устанавливаете отдельные свойства элемента пользовательского интерфейса в качестве атрибутов в XAML. FrameworkElement.Style применяется только к текущему элементу, и любое значение из StyleFrameworkElement.Style перезаписывается значением локального свойства, поэтому задание локального значения является более прямым и предсказуемым. Дополнительные сведения о том, как соотносятся значение Style и локальное значение свойства, см. в статье Общие сведения о свойствах зависимостей.
- Авторы элементов управления обычно пишут элемент управления, который является шаблоном, но также поставляется с шаблоном по умолчанию. Приложение может использовать элемент управления и изменять его внешний вид, предоставляя новый элемент ControlTemplate, который является частью стиля , определенного в ресурсах. Этот стиль обычно применяется с помощью функции неявного стиля , а не путем задания стиля. Дополнительные сведения см. в разделе Стилизация элементов управления.
- Авторы элементов управления также предоставляют свойства, ссылающиеся на части элемента управления, которые могут иметь стили или значения, применяемые только к этой части, поэтому вам не нужно полностью переназначить элемент управления. Здесь вы задаете более конкретное свойство, а не FrameworkElement.Style.
- Модель визуального состояния часто сбрасывает стиль элемента управления во время выполнения в ответ на изменения в состояниях, которые визуально проявляются для пользователей. Например, шаблоны элементов управления обычно имеют состояние "Отсортированные", которое добавляет индикатор визуального фокуса к внешнему виду элемента, чтобы пользователь клавиатуры видел, какой элемент в пользовательском интерфейсе имеет текущий фокус клавиатуры. Дополнительные сведения о концепции визуального состояния см. в разделе Краткое руководство. Шаблоны элементов управления.
Вы можете изменить значения отдельных свойств, заданных в стиле. Например, можно задать свойство Template во время выполнения, даже если это свойство задано стилем. Вы также можете добавить методы задания в коллекцию в разделе Setters. Однако, как только этот стиль будет использоваться загруженным объектом, стиль следует считать запечатанным. Это состояние можно определить, проверив значение IsSealed для параметра Style. Стиль считается используемым, как только на него ссылается загруженный объект, подключенный к дереву объектов отображаемой страницы пользовательского интерфейса. Стиль и его методы задания также можно считать запечатанными, когда объект, использующий этот стиль, вызывает событие Loaded. Попытка изменить отдельное свойство используемого стиля (например, свойство в коллекции Setters ) вызывает исключение.
Классы, производные от Control , имеют дополнительную точку входа, которая полезна для управления авторами в отношении стиля и приложения шаблона. FrameworkElement определяет виртуальный обратный вызов OnApplyTemplate , который вызывается до loaded. Классы, производные от Control, могут переопределить этот обратный вызов, чтобы настроить значения свойств, заданные шаблонами до использования стиля.
При запросе во время выполнения свойство Style не возвращает стили, полученные из примененного шаблона, или активных визуальных состояний. Он возвращает только стили, явно заданные свойством Style. Кроме того, он не возвращает неявные стили.