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
Применяется только к текущему элементу, а любое значение изFrameworkElement.Style
перезаписывается значением локального свойства, поэтому задание локального значения является более прямым и предсказуемым. Дополнительные сведения о том, как соотносятся значение Style и локальное значение свойства, см. в статье Общие сведения о свойствах зависимостей. - Авторы элементов управления обычно пишут элемент управления, который является шаблоном, но также поставляется с шаблоном по умолчанию. Приложение может использовать элемент управления и изменять его внешний вид, предоставляя новый элемент ControlTemplate, который является частью стиля , определенного в ресурсах. Этот стиль обычно применяется с помощью функции неявного стиля , а не путем установки
Style
. Дополнительные сведения см. в разделе Стилизация элементов управления. - Авторы элементов управления также предоставляют свойства, ссылающиеся на части элемента управления, которые могут иметь стили или значения, применяемые только к этой части, поэтому вам не нужно полностью переназначить элемент управления. Здесь вы задаете более конкретное свойство, а не
FrameworkElement.Style
. - Модель визуального состояния часто сбрасывает стиль элемента управления во время выполнения в ответ на изменения в состояниях, которые визуально проявляются для пользователей. Например, шаблоны элементов управления обычно имеют состояние "Отсортированные", которое добавляет индикатор визуального фокуса к внешнему виду элемента, чтобы пользователь клавиатуры видел, какой элемент в пользовательском интерфейсе имеет текущий фокус клавиатуры. Дополнительные сведения о концепции визуального состояния см. в разделе Шаблоны элементов управления XAML.
Вы можете изменить значения отдельных свойств, заданных в стиле. Например, можно задать свойство Template во время выполнения, даже если это свойство задано стилем. Вы также можете добавить методы задания в коллекцию в разделе Setters. Однако, как только этот стиль будет использоваться загруженным объектом, стиль следует считать запечатанным. Это состояние можно определить, проверив значение IsSealed для Style
. Стиль считается используемым, как только на него ссылается загруженный объект, подключенный к дереву объектов отображаемой страницы пользовательского интерфейса. Объект Style
и его Setters
также можно считать запечатанными, когда объект, использующий этот стиль, вызывает событие Loaded . Попытка изменить отдельное свойство используемого стиля (например, свойство в Setters
коллекции) вызывает исключение.
Классы, производные от Control , имеют дополнительную точку входа, которая полезна для управления авторами в отношении стиля и приложения шаблона.
FrameworkElement определяет виртуальный обратный вызов OnApplyTemplate , который вызывается до loaded. Классы, производные от Control
, могут переопределить этот обратный вызов, чтобы настроить значения свойств, которые были заданы шаблонами до использования стиля.
При запросе во время выполнения свойство не возвращает стили, Style
полученные из примененного шаблона, или активных визуальных состояний. Он возвращает только стили, явно заданные свойством Style
. Кроме того, он не возвращает неявные стили.