WP8.1导航栏叠加

时间:2016-01-09 16:59:44

标签: c# windows-phone-8.1

我目前正在Windows Phone 8.1中开发一个应用程序我遇到了软系统导航栏的问题。

我可以隐藏栏,但我似乎无法找到它是否可见。 要隐藏它,我可以使用:

ApplicationView.GetForCurrentView().SuppressSystemOverlays = true;

问题在于有些手机有,有些则没有。我需要找到它是否处于活动状态,以便我可以正确绑定VirtualizingStackPanel的高度。

谢谢,

1 个答案:

答案 0 :(得分:0)

据我所知,没有完美的方法可以使用非硬件导航栏,我认为您最好的选择是订阅ApplicationView.VisibleBoundsChanged事件,

基本上你需要做的是:

  1. ApplicationViewBoundsMode设置为UseCoreWindow,以便内容将在核心电话窗口占用的区域中布局:

    ApplicationView.GetForCurrentView().SetDesiredBoundsMode(ApplicationViewBoundsMode.UseCoreWindow);
    
  2. 订阅VisibleBoundsChanged事件并处理处理程序中的UI更改:

    ApplicationView.GetForCurrentView().VisibleBoundsChanged += handler;
    

    // ...

    private void handler(ApplicationView sender, object args)
    {
        //handle ui changes
    }
    
相关问题