在Windows Phone 8.1 Direct3D应用程序中启动软键盘

时间:2015-05-09 14:42:57

标签: windows-phone-8.1

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

在Windows Phone 8下,我使用了Microsoft提供的代码:

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

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

1 个答案:

答案 0 :(得分:2)

简单方法:

  • (在手机上,但不是桌面)调用InputPane。TryShowTryHide 从实际控件中明确打开输入窗格。您可以在CoreWindow.CharacterReceived事件中捕获输入。

  • (在任何一个上)通过Xaml DirectX Interop在DirectX表面上使用Xaml TextBox。这个 Xaml控件已经具有易于使用的优点 实现全文所需的辅助功能和IME接口 支持。它具有在DX场景外部的缺点 它可能需要一些小心的放置它。

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

艰难的道路:

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