C#WinRT Windows Phone 8.1 - 导航栏可见时应用栏包含弹出菜单

时间:2016-07-16 23:37:45

标签: c# user-interface menu windows-runtime windows-phone-8.1

我有一个使用底部应用栏的Windows Phone 8.1应用。当单击其中一个应用栏按钮时,底部应用栏会打开菜单弹出按钮。打开弹出菜单时,应用栏会部分覆盖它的底部。仅当虚拟导航栏可见时才会出现这种情况。如果虚拟导航栏被隐藏,或者手机有物理导航按钮,则弹出菜单会完整显示。

我对此进行了彻底的研究,并没有重复。

类似的问题是Flyout behind Appbar。我在展示弹出菜单时尝试隐藏底部应用栏,但弹出菜单只是隐藏在虚拟导航栏后面。

另一个类似的问题是AppBarButton.Flyout bad positioning。我尝试以编程方式创建弹出菜单,但弹出菜单仍然模糊不清。

我尝试创建一个只有底部应用栏,应用栏按钮和菜单弹出窗口的新应用,结果相同。我在带有物理导航按钮的模拟器中测试了它,在带有虚拟导航栏的模拟器中以及带有虚拟导航栏的物理设备上进行了测试。

请注意,要使用虚拟导航栏按钮在模拟器中对其进行测试,您必须将其设置为720P或1080P模拟器,然后单击工具,传感器,启用软件按钮,单击应用,然后等待操作系统重新启动

我尝试在菜单弹出窗口的底部添加一个额外的空白菜单弹出项目以补偿底部的空间,但是当隐藏虚拟导航栏时这是不可取的,因为这样就有一个空白区域可见。在最后一个菜单弹出项目中添加底部边距也是如此。

我还尝试过使用ApplicationViewBoundsMode.UseVisible和ApplicationViewBoundsMode.UseCoreWindow,并隐藏或显示底部应用栏,但没有得到任何一致的结果。

这似乎是一个错误,但必须有一个合理的解决方案,因为使用日历应用程序并单击视图按钮选择日,周,月或年似乎完美无缺,无论虚拟导航栏是可见还是隐藏或手机根本没有使用虚拟导航栏。

我想让底部应用栏没有覆盖菜单弹出窗口。如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

您是否尝试过PopUpMenu课程? 这个课程给你几乎与Flyout菜单相同的体验,除非它没有弹出它所显示的元素,并且可以在任何位置轻松显示。 我想你的问题可以通过使用来解决。

这里是它的文档 https://msdn.microsoft.com/library/windows/apps/br208693