Отображение AppBar внизу страницы - PullRequest
0 голосов
/ 20 марта 2012

Я использую C # и XAML для разработки приложения в стиле Metro с Visual Studio 2011 Beta.Я хочу отобразить панель приложений внизу моей страницы.Согласно некоторым источникам, мне придется написать тег AppBar Control внутри тегов <Page.BottomAppBar>...</Page.BottomAppBar>.

Но при этом на странице XAML генерируется ошибка:

BottomAppBar не распознается для страницы.

Пожалуйста, помогите мне с этим.Спасибо.

Ответы [ 2 ]

2 голосов
/ 15 декабря 2012

Это пример BottomAppBar:

<Page.BottomAppBar>
    <AppBar x:Name="MyappBar" Padding="10,0,10,0"
            BorderThickness="0"
            Opened="AppBar_Opened" Closed="AppBar_Closed" >
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="50*"/>
                <ColumnDefinition Width="50*"/>
            </Grid.ColumnDefinitions>
            <StackPanel x:Name="LeftPanel" Orientation="Horizontal" Grid.Column="0" HorizontalAlignment="Left">
                <Button x:Name="btnEdit" Style="{StaticResource EditAppBarButtonStyle}"/>
                <Button x:Name="btnSave" Style="{StaticResource SaveAppBarButtonStyle}"/>
            </StackPanel>
            <StackPanel x:Name="RightPanel" Orientation="Horizontal" Grid.Column="1" HorizontalAlignment="Right">
                <Button x:Name="btnPhoto" Style="{StaticResource PhotoAppBarButtonStyle}" Click="CapturePhoto_Click" />
                <Button x:Name="btnHelp" Style="{StaticResource HelpAppBarButtonStyle}"/>
            </StackPanel>
        </Grid>
    </AppBar>
</Page.BottomAppBar>

Попробуйте поставить его после </Page.Resources> в вашем файле xaml.Не забудьте раскомментировать стили кнопок в StandardStyles.xaml в папке Common .

2 голосов
/ 12 апреля 2012

ОБНОВЛЕНИЕ: Хотя изначально опубликованный подход работает, в большинстве случаев это не рекомендуется, поскольку возникают проблемы с анимацией панели приложений, тестированием нажатия ... Вместо Page.TopAppBar и Page.BottomAppBar, как указано в http://social.msdn.microsoft.com/Forums/en/winappswithcsharp/thread/1044f2fb-bc55-4391-ac82-02c5d5e75970 следует использовать.

Вам просто нужно установить вертикальное выравнивание панели приложения по низу:

<AppBar Grid.Row="1" HorizontalContentAlignment="Stretch" Height="88"   VerticalContentAlignment="Stretch" VerticalAlignment="Bottom">
...
</Appbar>

Дополнительно убедитесь, что панель приложения встроена в элемент в нижней части экрана. Это означает, что для стандартной страницы (сетка с 2 строками) панель приложения должна быть встроена во вторую строку (Grid.Row = 1).

Последнее, что вам нужно, это убедиться, что панель приложений является самой верхней в Z-порядке. Для этого вы должны добавить нижнюю панель приложений в конце файла xaml. Это означает, что если у вас есть что-то вроде:

<GridView Grid.Row="1">...</GridView>

Вы должны заказать следующие элементы управления:

<GridView Grid.Row="1">...</GridView>
<AppBar Grid.Row="1">...</AppBar>
...