【发布时间】:2012-04-01 21:53:54
【问题描述】:
是否可以通过创建自定义文本框来处理 sip。
我想创建一个自定义文本框 --> 创建获得焦点事件 --> 在我的自定义文本框而不是 SIP 的焦点上,我的自定义键盘应该打开。
要求:
- 如何创建自定义文本框?
- 打开自定义键盘而不是 SIP
- 在文本字段中获取光标。
【问题讨论】:
标签: silverlight windows-phone-7 custom-controls sip
是否可以通过创建自定义文本框来处理 sip。
我想创建一个自定义文本框 --> 创建获得焦点事件 --> 在我的自定义文本框而不是 SIP 的焦点上,我的自定义键盘应该打开。
要求:
【问题讨论】:
标签: silverlight windows-phone-7 custom-controls sip
SIP 的显示由操作系统处理,并且始终位于任何应用程序的可视化树的顶部。如果要提供自定义 SIP,则需要提供替代输入控件,因为本机 SIP 的显示与输入控件绑定(例如 TextBox、PasswordBox 等)。您可能会发现这篇关于creating a Bulgarian keyboard 的文章很有用。
要创建自定义 TextBox,您可以从继承 TextBox 本身开始,但您可能会发现自己与默认实现作斗争,因此您可能只想从 Control 继承。
要打开自定义 SIP 而不是默认 SIP,您需要将其绑定到自定义 TextBox 上的一个事件中,这是从 Control 继承可能会让您的生活更轻松的地方之一,因为如果您继承来自 TextBox,然后一旦获得焦点,默认 SIP 就会显示。您可能希望为 PhoneApplicationFrame 制作 ControlTemplate 的 SIP 部分,以便保证它位于页面内容之上。
要在自定义 TextBox 中获得光标,您需要自己处理插入符号的显示,并在用户在自定义 SIP 上键入时更新它。
要实现听起来很简单的事情需要做大量的工作,我怀疑这就是为什么还没有人这样做的原因 :) 我绝对建议在官方 WP7 Dev UserVoice forum 上将其作为功能请求
【讨论】: