[Перевод] Избавляемся от StandardStyles.xaml в Windows 8.1
Если вы когда-либо создавали Windows 8 приложение используя XAML, то вы, скорее всего, могли видеть добавленный в ваше приложение файл с названием StandardStyles.xaml в папке Common. Так как я видел много разработанных приложений, то мне приходилось наблюдать, что люди довольно часто относят этот файл к системным компонентам и совершенно не изменяют его. Иногда это хорошо, но чаще это плохо. Среди приложений, которые мне попадались было множество таких, которые совершенно не используют стили из этого словаря ресурсов, но и не делают ничего, чтобы обрезать файл или удалить его совсем, так как он не нужен.Это файл был добавлен в шаблоны проектов Windows 8 Visual Studio для того, чтобы помочь стилизовать некоторые области шаблона. В поисках повышения производительности Windows 8.1 мы отметили, что разработчики не удаляют этот файл или неиспользуемые стили из этого файла. Мы также заметили, что есть некоторые плюсы от включения этого файла во фреймворк, так как некоторые стили/шаблоны отложенной загрузки мы реализовали в самой Windows 8.1. По этой причине почти для всех приложений, которые мы наблюдали на практике, стили, имеющиеся в Windows 8/VS2012 StandardStyles.xaml файле, могут быть удалены из приложения и заменены на стили содержащиеся в XAML фреймворке.Текстовые стилиБольшая часть функций файла была в предоставлении некоторых текстовых стилей, которые сопоставляли таблицу типографских шрифтов для языка дизайна Windows. Около 100 строк текстовых стилей сейчас могут быть перенесены на новые предоставленные фреймворком стили. Далее идет сопоставление того, что вы должны заменить в своем приложении Windows 8.1: StandardStyles.xaml (в VS 2012)
имена предоставленные Windows 8.1 XAML
BasicTextStyle
BaseTextBlockStyle
BaselineTextStyle
недоступен (совмещен с BaseTextBlockStyle)
HeaderTextStyle
HeaderTextBlockStyle
SubheaderTextStyle
SubheaderTextBlockStyle
TitleTextStyle
TitleTextBlockStyle
SubtitleTextStyle
SubtitleTextBlockStyle
BodyTextStyle
BodyTextBlockStyle
CaptionTextStyle
CaptionTextBlockStyle
BaseRichTextStyle
BaseRichTextBlockStyle
BaselineRichTextStyle
недоступен (совмещен с BaseRichTextBlockStyle)
BodyRichTextStyle
BodyRichTextBlockStyle
ItemRichTextStyle
недоступен (был таким же как и BodyRichTextBlockStyle)
Замена довольно проста, так как в местах, где вы использовали {StaticResource SomeTextStyle} вы должны использовать {StaticResource FrameworkProvidedStyle} (разумеется, указав корректно соответствующее имя). Как и в других случаях при совершении изменений, протестируйте ваше приложение чтобы убедится в том, что ваш UI точно соответствует вашим ожиданиям. Если вам необходимо продолжить изменение стиля, то вы можете использовать эти стили для того, чтобы создать ваш BasedOn собственный.Стили кнопок
Другой составляющей был набор стилей кнопок вроде кнопки «назад», кнопок текстблока и наиболее используемых стилей AppBarButton. Стиль TextButtonStyle сейчас является TextBlockButtonStyle и служит как стилизованная кнопка для таких областей, как доступные для кликов секции заголовков GridView и т.п.Было также несколько стилей для кнопки «назад». После введения в Windows 8.1 AppBarButton мы можем предложить лучший/особый шаблон стиля, предоставленный сразу с верными символами для стрелок. Вместо того, чтобы использовать BackButtonStyle/SnappedBackButtonStyle из StandardStyles.xaml вы должны использовать NavigationBackButtonNormalStyle и NavigationBackButtonSmallStyle. Стиль Normal — это основной стиль, который вы должны использовать на страницах и он равен стандартной кнопке 41×41 px. Стиль Small это стиль кнопки 30×30 px, который вы можете использовать для состояния narrow (ранее называемого snapped) или в других случаях.Вероятно, одними из наиболее используемых объектов были стили AppBarButton. Приблизительно около 1100 строк стиля для набора стилей различных символов кнопок аппбара. Сейчас мы предоставляем вам типовые кнопки, которые оптимизированы для UI и на данный момент имеют 190 различных типов иконок. В качестве примера, вот что у вас могло быть в приложении для Windows 8:
А сейчас это может быть заменено на:
Надеюсь, это вам поможет!