是否有在Windows 10 Mobile中隐藏NavigationBar的事件?

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

标签: uwp windows-10-mobile

在我的场景中,我需要在Window 10 Mobile中隐藏NavigationBar时收到通知。 有没有办法找出Window 10 Mobile中NavigationBar的可见性变化?

此致 斯里尼瓦桑

1 个答案:

答案 0 :(得分:1)

刚刚进行测试,看来在Windows 10手机上,我们只能让应用程序以全屏模式运行以隐藏导航栏,但问题是当应用程序处于全屏模式时,状态栏位于顶部也将被隐藏。

因此,如果您希望以全屏模式启动应用,可以使用OnLaunched方法:

ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.FullScreen;

如果你想在应用程序运行时进入/存在全屏模式,例如你可以在按钮点击事件代码中这样:

private void Button_Click(object sender, RoutedEventArgs e)
{
    ApplicationView view = ApplicationView.GetForCurrentView();

    bool isInFullScreenMode = view.IsFullScreenMode;

    if (isInFullScreenMode)
    {
        view.ExitFullScreenMode();
    }
    else
    {
        view.TryEnterFullScreenMode();
    }
}
  

有没有办法找出Window 10 Mobile中NavigationBar的可见性变化?

是的,如果您使用此全屏模式方法隐藏导航栏,则可以像这样添加VisibleBoundsChanged处理程序:

ApplicationView.GetForCurrentView().VisibleBoundsChanged += OnVisibleBoundsChanged;

然后你可以在OnVisibleBoundsChanged事件中完成你的工作:

private void OnVisibleBoundsChanged(ApplicationView sender, object args)
{
    //TODO:
}

AFAIK,暂时没有办法隐藏导航栏,所以这种方法应该可以解决你的问题,但是方法不起作用,你可以发表评论告诉我们你是如何隐藏导航栏的