Нижняя панель приложения 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>
Другие вопросы по тегам