我有一个使用底部应用栏的Windows Phone 8.1应用程序。 单击其中一个应用栏按钮时,底部应用栏将打开菜单浮出控件。 打开弹出菜单时,其底部部分被应用栏覆盖。 仅当虚拟导航栏可见时,才会发生这种情况。 如果虚拟导航栏处于隐藏状态,或者手机具有物理导航按钮,则弹出菜单将完整显示。
我对此进行了彻底的研究,它不是重复的。
一个类似的问题是Appbar后面的浮出控件。 我尝试在显示浮出控件菜单时隐藏底部应用栏,但随后弹出菜单只是隐藏在虚拟导航栏后面。
另一个类似的问题是AppBarButton.Flyout定位错误。 我尝试以编程方式创建浮出控件菜单,但弹出菜单仍然模糊不清。
我尝试创建一个仅包含底部应用栏、应用栏按钮和菜单浮出控件的新应用,结果相同。 我在模拟器中使用物理导航按钮、模拟器中使用虚拟导航栏以及在我的物理设备上使用虚拟导航栏对其进行了测试。
请注意,要使用虚拟导航栏按钮在模拟器中对此进行测试,您必须将其设置为 720P 或 1080P 模拟器,然后单击工具、传感器,启用软件按钮,单击应用,然后等待操作系统重新启动。
我尝试在菜单浮出控件的底部添加一个额外的空白菜单浮出控件项以补偿底部的空间,但是当虚拟导航栏隐藏时,这是不可取的,因为这样就会有一个可见的空白区域。 向最后一个菜单浮出控件项添加下边距也是如此。
我还尝试尝试使用ApplicationViewBoundsMode.UseVisible和ApplicationViewBoundsMode.UseCoreWindow,并隐藏或显示底部应用栏,但没有得到任何一致的结果。
这似乎是一个错误,但必须有一个合理的解决方案,因为使用日历应用程序并单击查看按钮选择日、周、月或年似乎都可以完美运行,无论虚拟导航栏是可见还是隐藏,或者手机根本不使用虚拟导航栏。
我希望底部应用栏未覆盖菜单浮出控件。 如何实现这一点?
你试过PopUpMenu类吗?此类提供的体验与浮出控件菜单几乎相同,除非它不会弹出显示它的元素,并且可以轻松地显示在任何位置。我想你的问题可以通过使用它来解决。
这是它的文档https://msdn.microsoft.com/library/windows/apps/br208693