我目前正在Windows Phone 8.1中开发一个应用程序我遇到了软系统导航栏的问题。
我可以隐藏栏,但我似乎无法找到它是否可见。 要隐藏它,我可以使用:
ApplicationView.GetForCurrentView().SuppressSystemOverlays = true;
问题在于有些手机有,有些则没有。我需要找到它是否处于活动状态,以便我可以正确绑定VirtualizingStackPanel的高度。
谢谢,
答案 0 :(得分:0)
据我所知,没有完美的方法可以使用非硬件导航栏,我认为您最好的选择是订阅ApplicationView.VisibleBoundsChanged
事件,
基本上你需要做的是:
将ApplicationViewBoundsMode
设置为UseCoreWindow
,以便内容将在核心电话窗口占用的区域中布局:
ApplicationView.GetForCurrentView().SetDesiredBoundsMode(ApplicationViewBoundsMode.UseCoreWindow);
订阅VisibleBoundsChanged
事件并处理处理程序中的UI更改:
ApplicationView.GetForCurrentView().VisibleBoundsChanged += handler;
// ...
private void handler(ApplicationView sender, object args)
{
//handle ui changes
}