Нижняя панель приложения Windows 8
Я пытался получить App bar
реализовано в WinRT metro app
(C#
/ XAML
), но не знаю с чего начать. Я пытался использовать <ApplicationBar/>
тег и я получаю Type not found
ошибка.
В Интернете нет помощи, может кто-нибудь обновить этот пост ответом, чтобы он послужил ссылкой и на других программистов?
Там только JavaScript
образец, который не очень помогает.
2 ответа
Это должно работать:
<AppBar
VerticalAlignment="Bottom">
<Button
AutomationProperties.Name="Play"
Style="{StaticResource PlayAppBarButtonStyle}"
Command="{Binding PlayCommand}" />
</AppBar>
- вы бы поместили это в корневую сетку макета вашей страницы.
*РЕДАКТИРОВАТЬ
Примечание: согласно документации - вы должны поместить его в свойство Page.BottomAppBar, хотя, по крайней мере, в Windows 8 Consumer Preview, - оно прекрасно работает при использовании в любой Grid, что удобно, если ваш пользовательский интерфейс не тесно связан с элементом управления Page.
* РЕДАКТИРОВАТЬ 2, ответ от MSFT:
Рекомендуемый подход заключается в использовании свойств Page.BottomAppBar/TopAppBar.
- В Consumer Preview есть известные проблемы тестирования на попадание, если панели приложений добавляются без использования этих свойств.
- Панели приложений не используют правильную анимацию, если они добавлены без использования этих свойств.
- Если AppBars добавляются как дочерние элементы произвольных элементов, тогда нескольким элементам управления проще пытаться создавать / изменять AppBars, что приводит к противоречивому взаимодействию с пользователем.
* РЕДАКТИРОВАТЬ 3
CustomAppBar в WinRT XAML Toolkit можно использовать где угодно, анимировать на основе вертикального / горизонтального выравнивания, поверх него можно накладывать другой контент, а также имеет свойство CanOpen, позволяющее заблокировать его открытие.
<Page.TopAppBar>
<AppBar>
<TextBlock x:Name="TextBlock1" Text="Sample Text" Margin="0,0,0,0" Height="Auto" VerticalAlignment="Center" HorizontalAlignment="Left"/>
</AppBar>
</Page.TopAppBar>