我试图在我的 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...”。
由于这是一个通用应用程序,它将在所有设备上运行,但 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/