27 wpf wpf-controls touch
对于我们的WPF应用程序,当它在触摸屏(Surface Pro .etc)上运行时,TextBox/ PasswordBoxcontrol 在聚焦时无法显示虚拟键盘.
在WPF中实现此功能的任何好方法?
我们最终想要实现的是这样的:
如果用户在PC上运行app,我们不关心这个功能,这意味着用户是否有物理键盘,我们什么都不做就像在PC上运行的普通WPF应用程序一样.
如果用户在Surface Pro上运行,当他点击它时TextBox,内置虚拟键盘可以显示,并且应该是用户友好的,例如键盘永远不会掩盖输入元素.
那么,WPF不能轻易设置一些属性来实现这个功能吗?在我看来,这个功能应该是内置的WPF,我不明白为什么我找不到一个简单的方法来实现.
Sav*_*kar 26
试试这个,
首先检查物理键盘的存在:
KeyboardCapabilities keyboardCapabilities = new Windows.Devices.Input.KeyboardCapabilities();
return keyboardCapabilities.KeyboardPresent != 0 ? true : false;
Run Code Online (Sandbox Code Playgroud)
如果找不到物理键盘,请使用Windows的内置虚拟键盘:
Process.Start(Environment.GetFolderPath(Environment.SpecialFolder.System) + Path.DirectorySeparatorChar + "osk.exe");
Run Code Online (Sandbox Code Playgroud)
我发布了一个关于如何在用户点击文本框时在WPF应用程序中触发触摸键盘的示例,其位于:
http://code.msdn.microsoft.com/Enabling-Windows-8-Touch-7fb4e6de
这已经是我多年来一直在努力的事情,我很高兴最终将这个例子贡献给我们的社区.如果示例问答窗格中有任何问题,建议,问题等,请告诉我们
小智 5
我创建了一个库来自动化 WPF 应用程序中有关 TabTip 集成的所有内容。
您可以在nuget上获取它,之后您只需要在应用程序启动逻辑中进行简单的配置即可:
TabTipAutomation.BindTo<TextBox>();
Run Code Online (Sandbox Code Playgroud)
您可以将 TabTip 自动化逻辑绑定到任何 UIElement。当指定类型的任何元素获得焦点时,虚拟键盘将打开,当元素失去焦点时,虚拟键盘将关闭。不仅如此,TabTipAutomation 还会将 UIElement(或 Window)移动到视图中,这样 TabTip 就不会遮挡焦点元素。
欲了解更多信息,请参阅项目网站。
| 归档时间: |
|
| 查看次数: |
39776 次 |
| 最近记录: |