[Перевод] Использование AppBarButton в Windows 8.1

В прошлой заметке я писал о том, как можно избавится от связи со StandardStyles.xaml в ваших проектах Windows 8.1. В частности, я указывал, что одним из самых популярных использований этого вспомогательного файла были AppBarButton стили, а также 200 различных символов, используемых для кнопок AppBar-а. Я решил ненадолго немного поглубже погрузится в эти стили, так как получил какое-то определенное количество писем с вопросами.Типичный сценарий — Иконки с символамиКласс AppBarButton является новым классом в Windows 8.1 и в первую очередь предполагается для использования сценария CommandBar, предоставляя UI, поведение и доступность, необходимую для элемента управления.Примечание: CommandBar является чем-то новым в Windows 8.1 и предназначен для того, чтобы быть контролом для стандартных только командных кнопок. Он предоставляет встроенную возможность автоматического изменения размера (что значит, команды пропадут, в случае если окно станет меньшим) и лучшую поддержку клавиатуры для навигации по командам внутри AppBar. Если вы используете AppBar и у вас только стандарнтые кнопки UI, то вам лучше использовать CommandBar вместо него в вашем приложении Windows 8.1

Это позволит вам быстро создать UI только задав два атрибута Label и Icon. К примеру так:

Результатом будет: 3eed0149cd0a4c96866e0a836e5aa646.pngИ все! По функциональности кнопка остается прежней, а API обрамляет тип. Это дает вам возможность быстро установить текст кнопки и визуальное отображение. Забота обо всех визуальных состояниях pressed/hover/и т.д. снята с вас. Мы также продвинули задумку, чтобы свойство Label стала значением AutomationProperties.Name кнопки для вас, предоставляя этим возможность доступа по умолчанию. Этот метод свойства Icon это сокращенная версия следующего более многословного метода: Как вы можете видеть встроенное свойство для ButtonBase это то место, где «живет» свойство Icon. Так как у нас имеется это свойство Icon, то мы можем использовать и другие методы. Мы также предоставляем свойство IsCompact для типов AppBarButtons, которое уменьшит отступы и удалит текст описания автоматически для вас, тем самым уменьшая область занимаемую кнопкой. Это то, что устанавливается CommandBar в случае, когда размер окна становится слишком маленьким для элементов.Используем иные шрифты в качестве значка иконки Если ни одна из 190 включенных иконок не подходит под ваши нужны, то вы можете использовать AppBarButton с вашими собственными иконками. Я ОЧЕНЬ рекомендую использовать шрифтовый подход так как он предоставляет отличную возможность масштабирования для ваших иконок и также является мейнстримом для большинства приложений веб. Принимая во внимание, что вы можете сделать свой собственный шрифт, есть также множество других возможностей, которые вы можете использовать.Примечание: Я не являюсь юристом и вы должны проконсультироваться с предоставляющей шрифт стороной по поводу лицензии, правилах/правах/запретах на использование шрифтов, которые внедрены в ваше приложение. Не думайте что каждый шрифт доступен для использования только потому, что он TTF/OTF — для полной уверенности проконсультируйтесь по поводу лицензии, если вы не являетесь автором шрифта сами.

Допустим, я хочу добавить несколько social media команд в мое приложение. Я могу использовать популярную библиотеку Modern UI Icons, которая также предоставляет шрифт для загрузки социальных иконок. После распаковки архива я включил TTF файл в мой проект (я мог бы использовать OTF, но так как есть TTF, то я использую его — также заметьте, что я переименовал файл в моем проекте Visual Studio) и затем использую его в моем приложении:

© Habrahabr.ru