Использование элементов стиля в Silverlight 2

WPF и Silverlight поддерживают механизм Style, которые позволяют нам инкапсулировать значения свойств элементов управления в качестве повторно используемого ресурса. Мы можем хранить данные объявления стилей в отдельном файле и использовать их во многих элементах управления и страницах приложения (а также будем повторно использовать их в разных приложениях). Данная техника очень похожа на CSS с HTML в обычных ситуациях.

Обратите внимание: в дополнение к объявлению стандартных настроек свойств (Color, Font, Size, Margins и т.д.), стили в WPF и Silverlight также могут быть  применены для определения и повторного использования Control Templates (шаблонов элементов управления),которые позволяют  настраивать и адаптировать структуры элементов управления (в том числе поддерживают сценарии специализации, которые невозможно использовать с CSS в HTML). Мы обсудим шаблоны элементов управления (Control Templates) в седьмой части данной серии статей.

Для нашего приложения мы определим объявления наших стилей (Style) в файле App.xaml нашего проекта. Это позволит повторно использовать их на всех страницах и элементах управления в приложении:


Давайте начнем с инкапсуляции стилей для элемента управления <Border> (и заголовка <TextBlock>, содержащегося в нем):



Мы создаем два элемента Style в нашем файле App.xaml , который инкапсулирует настройки <Border> и <TextBlock> объявленные при помощи следующей разметки:


Обратите внимание как мы назначем каждому элементу Style уникальное значение "Key". Мы можем обновить наши элементы управления <Border> и <TextBlock> таким образом, чтобы они ссылались на данные стили при помощи данных значений ключей (Key). Для этого мы будем использовать XAML-свойство, названное "расширения разметки" ("markup extensions"). Расширения разметки используются в случаях, когда нам надо установить нелитеральные значения (другой пример использования данной возможности является выражение привязки данных).


Когда мы обновим другие элементы управления в нашем файле Page.xaml таким образом, чтобы они использовали стили, то мы получим файл со следующей разметкой:


Инкапсуляция настроек стилей подобным образом позволяет разработчикам сфокусироваться на семантике поведения приложения и также позволяет нам повторно использовать стили на созданных страницах и элементах управления.

Следующие шаги

Теперь, когда мы очистили разметку нашего файла Page.xaml при помощи ссылок Style, можно перейти к следующей ступени и настроить отображение данных.

Источник