【问题标题】:Bringing up the soft keyboard in a Windows Phone 8.1 Direct3D app在 Windows Phone 8.1 Direct3D 应用程序中调出软键盘
【发布时间】:2015-05-10 07:06:19
【问题描述】:

我正在使用 C++/CX 和 DirectX 11 将游戏移植到 Windows Phone 8.1。我需要调出软键盘来输入一些文本。

在Windows phone 8下,我这里使用的是微软提供的代码:

How to handle keyboard input in a Direct3D app for Windows Phone 8

这很好用,但这些代码在 Windows Phone 8.1 中都无效,而且我一直无法找到任何更新的信息。我怎么能在 8.1 中做到这一点? 我需要显示/隐藏键盘并监听键盘输入。弹出一个带有文本输入元素的对话框也是可以接受的。

【问题讨论】:

    标签: windows-phone-8.1


    【解决方案1】:

    简单的方法:

    • (在手机上,但不在桌面上)调用 InputPane.TryShowTryHide 到 从实际控件中显式打开输入窗格脱离上下文。您可以在 CoreWindow.CharacterReceived 事件中捕获输入。

    • (在任一上)通过Xaml DirectX Interop 在您的 DirectX 表面上使用 Xaml 文本框。这个 由于 Xaml 控件已经具有简单的优点 实现全文所需的可访问性和 IME 接口 支持。它的缺点是在 DX 场景之外,所以 它可能需要一些小心才能很好地放置它。

      我通常会尝试做 Xaml 中的完整交互式表单,而不是尝试合并 单个 TextBox 成一个场景。像您提到的那样将控件放在 Xaml 弹出窗口中应该可以很好地工作。

    艰难的道路:

    • 通过提供UI Automation text patternsText Service Framework (TSF) 接口实现您自己的全功能控制。在内部,这是 Xaml 文本控件所做的,以便它们在系统中显示为文本。当用户将焦点设置到文本控件(支持文本模式)时,键盘将自动打开。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-11
      相关资源
      最近更新 更多