在 Windows Phone 8.1 Direct3D 应用程序中调出软键盘
Bringing up the soft keyboard in a Windows Phone 8.1 Direct3D app
我正在使用 C++/CX 和 DirectX 11 将游戏移植到 Windows Phone 8.1。我需要调出软键盘来输入一些文本。
下Windows phone8,我这里使用了微软提供的代码:
How to handle keyboard input in a Direct3D app for Windows Phone 8
这很好用,但此代码的 none 在 Windows Phone 8.1 中有效,我一直无法找到任何更新信息。我如何在 8.1 中执行此操作?
我需要 show/hide 键盘并监听键盘输入。弹出一个带有文本输入元素的对话框也是可以接受的。
简单的方法:
(在 phone,但不是桌面)调用 InputPane。TryShow and TryHide 到
从实际控件中脱离上下文显式打开输入窗格。您可以在 CoreWindow.CharacterReceived 事件中捕获输入。
(任一)通过 Xaml DirectX Interop 在您的 DirectX 表面上使用 Xaml 文本框。这个
优点是 Xaml 控件已经很容易了
实现全文所需的辅助功能和 IME 接口
支持。它的缺点是处于 DX 场景之外,因此
它可能需要一些小心才能很好地放置它。
我通常会尝试做
Xaml 中的完整交互形式,而不是尝试合并
单个 TextBox 到一个场景中。像您提到的那样将控件放在 Xaml 弹出窗口中应该可以很好地工作。
困难的方法:
- 通过提供 UI Automation text patterns and Text Service Framework (TSF) 接口实现您自己的全功能控件。在内部,这就是 Xaml 文本控件所做的,以便它们在系统中显示为文本。当用户将焦点设置到文本控件(支持文本模式)时,键盘将自动打开。
我正在使用 C++/CX 和 DirectX 11 将游戏移植到 Windows Phone 8.1。我需要调出软键盘来输入一些文本。
下Windows phone8,我这里使用了微软提供的代码:
How to handle keyboard input in a Direct3D app for Windows Phone 8
这很好用,但此代码的 none 在 Windows Phone 8.1 中有效,我一直无法找到任何更新信息。我如何在 8.1 中执行此操作? 我需要 show/hide 键盘并监听键盘输入。弹出一个带有文本输入元素的对话框也是可以接受的。
简单的方法:
(在 phone,但不是桌面)调用 InputPane。TryShow and TryHide 到 从实际控件中脱离上下文显式打开输入窗格。您可以在 CoreWindow.CharacterReceived 事件中捕获输入。
(任一)通过 Xaml DirectX Interop 在您的 DirectX 表面上使用 Xaml 文本框。这个 优点是 Xaml 控件已经很容易了 实现全文所需的辅助功能和 IME 接口 支持。它的缺点是处于 DX 场景之外,因此 它可能需要一些小心才能很好地放置它。
我通常会尝试做 Xaml 中的完整交互形式,而不是尝试合并 单个 TextBox 到一个场景中。像您提到的那样将控件放在 Xaml 弹出窗口中应该可以很好地工作。
困难的方法:
- 通过提供 UI Automation text patterns and Text Service Framework (TSF) 接口实现您自己的全功能控件。在内部,这就是 Xaml 文本控件所做的,以便它们在系统中显示为文本。当用户将焦点设置到文本控件(支持文本模式)时,键盘将自动打开。