C# 为什么应用程序栏在flipview中的不同页面之间打开?

C# 为什么应用程序栏在flipview中的不同页面之间打开?,c#,xaml,microsoft-metro,windows-runtime,appbar,C#,Xaml,Microsoft Metro,Windows Runtime,Appbar,我正在使用FlipView控件浏览各种页面,例如。*.XAML页面。我正在使用页面类的可观测集合。现在,这些页面中有一个页面包含AppBar,但该AppBar也可以在集合中的任何其他XAML页面中打开。如何防止在所有页面中打开AppBar 简单解释:-我有四个XAML页面 (1) MainPage.xaml(仅包含页面类的FlipView和ObservableCollection) (2) PageWithAppBar.xaml(AppBar在此页面中) (3) PageWithoutAppBa

我正在使用FlipView控件浏览各种页面,例如。*.XAML页面。我正在使用
页面
类的
可观测集合
。现在,这些页面中有一个页面包含AppBar,但该AppBar也可以在集合中的任何其他XAML页面中打开。如何防止在所有页面中打开AppBar

简单解释:-我有四个XAML页面

(1) MainPage.xaml(仅包含页面类的FlipView和ObservableCollection)

(2) PageWithAppBar.xaml(AppBar在此页面中)

(3) PageWithoutAppBar.xaml

(4) PageWithoutAppBar2.xaml

现在,通过flipview,当我打开不带AppBar.xaml的页面或不带AppBar的页面2.xaml并右键单击,然后带AppBar.xaml的页面的AppBar变得可见,所以我不想看到这件事,我该如何防止呢

到现在为止我都试了些什么

我创建了一个函数来检查AppBar应该在哪个页面可见。 我试着设置

可见性=已折叠

IsOpen=false

this.BottomAppBar=null

IsEnable=false


然后它也会出现

它看起来像Page.BottomAppBar应用于主容器页面,而不管它在哪里声明。鉴于此,我不确定以这种方式使用AppBars是否是一个好主意


也许您希望创建自己的控件,其行为类似于appbar,并使其按您想要的方式工作?看看:。其中有一个CustomAppBar控件,可能适合您。

实际的AppBar在哪里定义?在MainPage.xaml中?底部的AppBar在PageWithAppBar.xaml中定义。您在定义它的AppBar上尝试过IsSticky=false吗?好的,发布一些xaml和代码可能会有所帮助。从MainPage.xaml、PageWithAppBar.xaml和PageWithAppBar.xaml:)开始,如果没有任何效果,您可以在PageWithAppBar.xaml上使用IsOpen=false隐藏AppBar,然后再离开它。