Windows 10 Mobile – 无法隐藏状态栏(StatusBar在上下文中不存在)

我正试图隐藏我的Windows 10通用应用程序的状态栏。 在WP 8.1中,我使用了StatusBar.GetForCurrentView().HideAsync(); 隐藏状态栏,但是这不会在我当前的项目(Monogame,Win10 UAP)中工作 – 我得到“在当前上下文中找不到StatusBar”错误(是的,我正在使用Windows.UI.ViewManagement)。 我做错了什么,或者是这个选项删除StatusBar删除? 我应该怎么做在W10M? 提前致谢。

诀窍是你必须首先添加一个对Microsoft Mobile Extension SDK的引用。 那么代码如下:

 StatusBar statusBar = Windows.UI.ViewManagement.StatusBar.GetForCurrentView(); await statusBar.HideAsync(); 

可以通过右键单击通用项目来添加引用。 选择“添加参考”。 在“参考管理器”对话框中,选择左侧的“Windows通用”。 选择“扩展”,然后选中“Microsoft Mobile Extension SDK …”。

在参考管理器中选择扩展SDK

由于这是一个通用的应用程序,它将在每个设备上运行,但API将仅在Windows 10的移动设备(aka Phones)上可用。因此,在实际调用API之前,如果此API在运行时可用,则会进行功能检测。 否则,它将在运行时抛出TypeLoadException异常。

使用Windows.Foundation.Metadata.ApiInformation命名空间找出API是否可用。 (例如,方法IsTypePresent()。我建议在这里使用typeof而不是字符串,例如:

 var isStatusBarPresent = ApiInformation.IsTypePresent(typeof(StatusBar).ToString()); 

了解更多关于自适应代码的信息: https : //channel9.msdn.com/Series/A-Developers-Guide-to-Windows-10/08