WP8.1 导航栏覆盖
WP8.1 Navigation Bar Overlay
我目前正在开发 windows phone 8.1 的应用程序并且我在使用软系统导航栏时遇到问题。
我可以隐藏栏,但我似乎找不到它是否可见。
要隐藏它,我可以使用:
ApplicationView.GetForCurrentView().SuppressSystemOverlays = true;
问题是有些 phone 有,有些没有。我需要确定它是否处于活动状态,以便我可以正确绑定 VirtualizingStackPanel 的高度。
谢谢,
据我所知,没有完美的方法来使用 none-hardware 导航栏,我认为您最好的选择是订阅 ApplicationView.VisibleBoundsChanged
事件,
所以基本上你需要做的是:
将ApplicationViewBoundsMode
设置为UseCoreWindow
,这样内容就会布局在核心phonewindow所占的区域:
ApplicationView.GetForCurrentView().SetDesiredBoundsMode(ApplicationViewBoundsMode.UseCoreWindow);
订阅 VisibleBoundsChanged
事件并为您处理 UI 处理程序中的更改:
ApplicationView.GetForCurrentView().VisibleBoundsChanged += handler;
//...
private void handler(ApplicationView sender, object args)
{
//handle ui changes
}
我目前正在开发 windows phone 8.1 的应用程序并且我在使用软系统导航栏时遇到问题。
我可以隐藏栏,但我似乎找不到它是否可见。 要隐藏它,我可以使用:
ApplicationView.GetForCurrentView().SuppressSystemOverlays = true;
问题是有些 phone 有,有些没有。我需要确定它是否处于活动状态,以便我可以正确绑定 VirtualizingStackPanel 的高度。
谢谢,
据我所知,没有完美的方法来使用 none-hardware 导航栏,我认为您最好的选择是订阅 ApplicationView.VisibleBoundsChanged
事件,
所以基本上你需要做的是:
将
ApplicationViewBoundsMode
设置为UseCoreWindow
,这样内容就会布局在核心phonewindow所占的区域:ApplicationView.GetForCurrentView().SetDesiredBoundsMode(ApplicationViewBoundsMode.UseCoreWindow);
订阅
VisibleBoundsChanged
事件并为您处理 UI 处理程序中的更改:ApplicationView.GetForCurrentView().VisibleBoundsChanged += handler;
//...
private void handler(ApplicationView sender, object args) { //handle ui changes }