Использование элементов стиля в Silverlight 2
Обратите внимание: в дополнение к объявлению стандартных настроек свойств (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, можно перейти к следующей ступени и настроить отображение данных.