我想检查软件键盘是否在 Windows Phone 8 中打开。我发现一些稀疏信息表明这可以使用 CoreWindow.IsKeyboardInputEnabled,但我找不到任何方法来实现这一点。我找到了仅适用于 C++ 的示例代码,我完全不明白。
我使用 VB,但是我可以阅读 C# 足以弄清楚我是否可以获得 C# 示例。
无论我做什么,我总是得到一个 null/nothing 值。以下代码编译并运行,但当应用程序在 if c.IsKeyboarInputEnabled... 行崩溃时, c 是“无”。
Dim c as CoreWindow
c = CoreWindow.GetForCurrentThread
if c.IsKeyboardInputEnabled then...
我知道我需要给'c'一个值,但不知道如何。我也试过:
Dim c as CoreWindow = New CoreWindow
编辑器将其标记为错误,因此不会编译。
如果它是相关的,我想做的是确保我的导航是一致的。目前,点击特定屏幕元素应关闭该元素。但是,如果键盘处于打开状态,我希望该轻按以简单地关闭键盘并使轻按的项目保持打开状态。我相信这对用户来说是更直观和一致的方法。
我认为实现此功能的唯一方法是在确定如何处理任何打开的面板之前知道键盘是否打开。
例如[当点击屏幕并展开弹出窗口时]
If [keyboard visible] then [close keyboard] else [close tapped item]