Is it possible in c# to show, hide, and manipulate the Windows 8 on-screen keyboard?

孤人 提交于 2019-11-27 03:40:56

问题


I am making a WPF application that is to be used on a kiosk with no hardware keyboard. Currently we are using a third party on-screen keyboard, but the Windows 8 version is a lot better and we are thinking of switching to it.

So my question is simply if it is possible to show/hide it as well as show a numeric only version using c#.

Thanks! David


回答1:


From this source:

There is no direct way to control the touch keyboard programmatically. Requiring the user to set the focus rather than the program is a deliberate design decision to prevent UI churn.

See Input Hosting Manager and the Touch Keyboard for more information on how and why this works. The User-driven invocation section of that document explains the specific behavior you are asking about.

But, once the user touches an input control, the soft keyboard will automatically be displayed (with no extra coding needed).

Finally, to address your question on a numeric-only version of a keyboard, you may propose a different keyboard layout using InputScope on a TextBox. The different input scopes are enumerated here, but one of them is "Number".




回答2:


I've published a sample on how to trigger the touch keyboard in WPF applications when a user clicks into a Textbox, its here:

http://code.msdn.microsoft.com/Enabling-Windows-8-Touch-7fb4e6de

I've been working on this sample for many months and am glad to finally contribute it to our community. Please let me know if there are any questions, suggestions, problems, etc in the sample Q&A pane

Also note that while demonstrate how to "show" the keyboard, i'm not sure how to dismiss it programmatically at this point so its important to test any actual implementation to ensure its a good experience. For example some controls like Button will dismiss the keyboard when they get focus from a TextBox, but certain ones like Checkbox will not and I demonstrate that in my sample.



来源:https://stackoverflow.com/questions/14571065/is-it-possible-in-c-sharp-to-show-hide-and-manipulate-the-windows-8-on-screen

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!