2015-05-09 155 views
1

我正在使用带有DirectX 11的C++/CX将游戏移植到Windows Phone 8.1。我需要为某些文本输入提供软键盘。在Windows Phone 8.1 Direct3D应用程序中启动软键盘

在Windows 8的手机,我用微软这里提供的代码:

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

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

回答

2

的简单的方法:

  • (手机上的,而不是台式机)调用InputPane。 TryShowTryHide至 显式地从实际控件的上下文中打开输入窗格。您可以捕获CoreWindow.CharacterReceived事件中的输入。

  • (在任一个上)通过Xaml DirectX Interop在DirectX表面上使用Xaml文本框。这个 的优点是很容易,因为Xaml控件已经实现了 支持所需的辅助功能和IME接口。它具有在DX现场外部的缺点,所以 它可能需要一些照顾很好地放置它。

    我通常会尝试在Xaml中完全使用 完整的交互式表单,而不是试图将 单个文本框合并到场景中。将控件放置在您提到的Xaml弹出窗口中应该很好。

难的方法:

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