【发布时间】:2015-04-27 19:50:13
【问题描述】:
我维护/开发一个通常用于触摸屏的 C&C 应用程序。大多数文本框都需要数字输入,因此大多数普通键盘是没有意义的。我的老板要我为这些盒子制作一个没有键盘的数字键盘。 (我们也有其他字母数字框。)用户可以选择一个复选框来指示是否需要屏幕键盘。
我从How to disable the little touch-keyboard on Windows edit controls 那里学到了如何确保标准 Windows 键盘不会出现在我的应用程序中。 注册表很丑,但至少它可以让我与每个人都相处融洽。
由于应用程序已经构建,我决定考虑使用资源字典来修改我的文本框;见Is it possible to set code behind a resource dictionary in WPF for event handling?。根据 WPF 的设计,cmets 显然也很丑陋。
现在我需要告诉我的代码后面的键盘窗口(或其他控件)在哪里。这听起来像是一个 XAML 属性 - 依赖属性。不幸的是,ResourceDictionary 没有扩展DependencyObject,所以这种技术似乎行不通。
根据WPF: Specific input textboxes (for phone numbers and such),如果点击会召唤一个只包含允许字符的键盘,this 之类的东西就会起作用。实际上,那将是绝对完美。如果只有 this 是 WPF 的一部分并因此与键盘集成。
但也许我的部分方法是错误的?如何获得选择“数字框”时出现的数字键盘?我真的不想在每个涉及文本框的 XAML 页面上复制(而不是引用)资源字典。
附:问题格式如何?
【问题讨论】:
标签: c# wpf xaml on-screen-keyboard