Почему панель приложений открывается среди разных страниц в FlipView?

Я использую элемент управления FlipView для пролистывания различных страниц, то есть страниц *.XAML. Я использую ObservableCollection класса Page. Теперь одна из этих страниц содержит AppBar, но эта AppBar может быть открыта и на любой другой XAML-странице из коллекции. Как я могу предотвратить открытие AppBar на всех страницах?

Простое объяснение: у меня есть четыре страницы XAML.

(1) MainPage.xaml (содержит только FlipView и ObservableCollection класса Page)

(2) PageWithAppBar.xaml (AppBar находится на этой странице)

(3) PageWithoutAppBar.xaml

(4) PageWithoutAppBar2.xaml

Теперь через flipview, когда я переворачиваю PageWithoutAppBar.xaml или PageWithoutAppBar2.xaml и нажимаю правой кнопкой мыши, затем AppBar из PageWithAppBar.xaml< /strong> становятся видимыми, поэтому я не хочу этого, как я могу предотвратить это?

Что я пробовал до сих пор?

Я создал функцию, чтобы проверить, на какой странице должен быть виден AppBar. я пытался установить

Visibility = Collapsed,

IsOpen = false,

this.BottomAppBar = null,

IsEnable = false

потом тоже появляется


person Farhan Ghumra    schedule 12.09.2012    source источник
comment
Где определяется фактический AppBar? В MainPage.xaml?   -  person Krishna    schedule 12.09.2012
comment
Нижний AppBar определен в PageWithAppBar.xaml   -  person Farhan Ghumra    schedule 12.09.2012
comment
Вы пробовали IsSticky = false на AppBar, где он определен?   -  person Krishna    schedule 12.09.2012
comment
Хорошо, публикация кода XAML и кода программной части может помочь. Начиная с MainPage.xaml, PageWithAppBar.xaml и PageWithoutAppBar.xaml :)   -  person Krishna    schedule 12.09.2012
comment
Если ничего не работает, вы можете просто скрыть AppBar, используя IsOpen = false в PageWithAppBar.xaml, прежде чем уйти от него.   -  person Krishna    schedule 12.09.2012
comment
вот код, codepad.org/s2eDZDEO без кода. Вы можете видеть, что панель приложений находится только на странице 1, но она видна на всех страницах.   -  person Farhan Ghumra    schedule 12.09.2012
comment
Итак, что находится в SelectionChanged=FlipView_SelectionChanged_1 Loaded=flipview_Loaded_1?   -  person Krishna    schedule 12.09.2012
comment
эти события просто содержат Debug.WriteLine(flipview.SelectedIndex)   -  person Farhan Ghumra    schedule 12.09.2012
comment
Я только что попробовал это - похоже, что Page.BottomAppBar применяется к главной странице контейнера - независимо от того, где он объявлен.   -  person Krishna    schedule 12.09.2012


Ответы (1)


Похоже, что Page.BottomAppBar применяется к главной странице контейнера — независимо от того, где он объявлен. Учитывая это, я не уверен, что это хорошая идея использовать AppBars таким образом.

Возможно, вы захотите создать свой собственный элемент управления, который ведет себя как панель приложений, и заставить его работать так, как вы хотите? Взгляните на :WinRT XAML Toolkit на Codeplex . Там есть элемент управления CustomAppBar, который может вам подойти.

person Krishna    schedule 12.09.2012