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

标签 windows 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...”。

Select the Extension SDK in the Reference Manager

由于这是一个通用应用程序,它将在所有设备上运行,但 API 仅在装有 Windows 10 的移动设备(也称为手机)上可用。因此,在您实际调用应用程序接口(interface)。否则它将在运行时抛出 TypeLoadException。

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

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

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

关于Windows 10 Mobile - 无法隐藏状态栏(StatusBar 在上下文中不存在),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31594625/

相关文章:

java - 如何在 JTextPane 中编写状态栏?

ios - setStatusBarHidden(_ :withAnimation:) deprecated in iOS 9

android - 如何在右侧创建通知\状态栏图标?

windows - 检查点 VPN 问题 : Connectivity with VPN service is lost

windows - 将 ProcessID 转换为进程句柄

html - [windows] Webkit(Safari、Opera 等)的 Z-Index div 悬停叠加问题

iphone - Objective-C 的多线程库

python - pip 如何删除带有前导破折号 : "-pkgname" 的错误安装包

android - android 4.4 的标签和半透明状态栏/导航出现问题

ios - Soundcloud:当从另一个 View Controller 呈现时,SCLoginViewController 与状态栏重叠