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

kub*_*i98 7 windows statusbar

我试图在我的Windows 10 Universal App中隐藏状态栏.在WP 8.1中,我StatusBar.GetForCurrentView().HideAsync();用来隐藏状态栏,但这不适用于我当前的项目(Monogame,Win10 UAP) - 我在当前上下文中找不到"StatusBar"错误(是的,我正在使用Windows. UI.ViewManagement).我做错了什么,或者这个删除StatusBar的选项被删除了吗?我应该如何在W10M中完成这项工作?提前致谢.

Dan*_*ner 21

诀窍是您必须首先添加对Microsoft Mobile Extension SDK的引用.然后代码如下:

StatusBar statusBar = Windows.UI.ViewManagement.StatusBar.GetForCurrentView();
await statusBar.HideAsync();
Run Code Online (Sandbox Code Playgroud)

可以通过右键单击通用项目来添加引用.选择"添加参考".在"参考管理器"对话框中,选择左侧的"Windows Universal".选择"扩展"并选中"Microsoft Mobile Extension SDK ...".

在Reference Manager中选择Extension SDK

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

使用Windows.Foundation.Metadata.ApiInformation命名空间查看API是否可用.(例如,方法IsTypePresent().我建议在这里使用typeof而不是Strings,例如:

var isStatusBarPresent = ApiInformation.IsTypePresent(typeof(StatusBar).ToString());
Run Code Online (Sandbox Code Playgroud)

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