2015-05-09 143 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文本控件執行的操作,它們以系統的形式顯示爲文本。當用戶將焦點設置爲文本控件(支持文本模式)時,鍵盤將自動打開。
相關問題