是否可以通过创建自定义文本框来处理sip。
我想创建一个自定义文本框 - >创建焦点事件 - >在我的自定义文本框而不是SIP的焦点上,我的自定义键盘应该打开。
要求:
答案 0 :(得分:1)
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
的一项功能。