Как изменить xaml AppBar при изменении PivotItem в Window Phone 8.1

Когда элемент сводки изменяется на моей странице приложения Windows Phone 8.1, мне нужно изменить панель приложений внизу страницы. Все примеры, которые я нашел по этому поводу, относятся к приложениям Silverlight для Windows Phone 7/8 и не относятся к универсальному приложению Windows Phone 8.1.

<AppBar x:Name="AppBar1" Visibility="Visible">
    <CommandBar>
        <AppBarButton x:Name="Save" Icon="save" Label="Save" Click="AppBarButton_Click" />
        <AppBarButton x:Name="Cancel" Icon="cancel" Label="Cancel" Click="AppBarButton_Click" />
    </CommandBar>
</AppBar>

<AppBar x:Name="AppBar2" Visibility="Collapsed">
    <CommandBar x:Name="AppBar2">
        <AppBarButton x:Name="Add" Icon="save" Label="Add" Click="AppBarButton_Click" />
    </CommandBar>
</AppBar>

person RichC    schedule 18.05.2014    source источник
comment
Вы можете взглянуть на этот вопрос.   -  person Romasz    schedule 19.05.2014
comment
Спасибо @Romasz - я надеялся, что смогу сделать это в дизайнере, а затем просто показать/скрыть соответствующий. Вы говорите, что это невозможно, и вам нужно программно создавать панели приложений во время выполнения?   -  person RichC    schedule 19.05.2014
comment
Можно создать AppBar (CommandBars) во время выполнения, но AFAIK вам придется делать это программно в коде (не в xaml). Как я пробовал в XAML с ресурсами, это не сработало. Вы можете подготовить несколько командных панелей кода, а затем переключать их.   -  person Romasz    schedule 19.05.2014
comment
@Romasz хорошо, я думаю, это дает то, что мне нужно было знать! Спасибо!   -  person RichC    schedule 19.05.2014
comment
Вы можете создавать CommandBars в XAML как Resources и назначать любой из них Page.BottomAppBar при изменении элемента сводки в отделенном коде.   -  person K Mehta    schedule 22.05.2014
comment
@KshitijMehta - у вас есть пример этого? Я новичок в XAML.   -  person RichC    schedule 22.05.2014


Ответы (1)


XAML

<Pivot x:Name="Pivot" SelectionChanged="Pivot_SelectionChanged">
</Pivot>

С#

private void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    int no = Pivot.SelectedIndex; 
    if(no == 0)  
    {
        AppBar1.Visibility = Visibility.Visible;
        AppBar2.Visibility = Visibility.Collapsed;
    }
    else  
    {
        AppBar1.Visibility = Visibility.Collapsed;
        AppBar2.Visibility = Visibility.Visible;
    }
}
person Mohamed Thaufeeq    schedule 03.06.2014