[Перевод] Избавляемся от 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: