[Перевод] Использование 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. К примеру так:
И все! По функциональности кнопка остается прежней, а API обрамляет тип. Это дает вам возможность быстро установить текст кнопки и визуальное отображение. Забота обо всех визуальных состояниях pressed/hover/и т.д. снята с вас. Мы также продвинули задумку, чтобы свойство Label стала значением AutomationProperties.Name кнопки для вас, предоставляя этим возможность доступа по умолчанию. Этот метод свойства Icon это сокращенная версия следующего более многословного метода:
Допустим, я хочу добавить несколько social media команд в мое приложение. Я могу использовать популярную библиотеку Modern UI Icons, которая также предоставляет шрифт для загрузки социальных иконок. После распаковки архива я включил TTF файл в мой проект (я мог бы использовать OTF, но так как есть TTF, то я использую его — также заметьте, что я переименовал файл в моем проекте Visual Studio) и затем использую его в моем приложении:
