如何在Windows Phone 7中创建自定义文本框?

时间:2011-04-16 11:04:27

标签: silverlight windows-phone-7 custom-controls sip

是否可以通过创建自定义文本框来处理sip。

我想创建一个自定义文本框 - >创建焦点事件 - >在我的自定义文本框而不是SIP的焦点上,我的自定义键盘应该打开。

要求:

  1. 如何创建自定义文本框?
  2. 打开自定义键盘而不是SIP
  3. 将光标放在文本字段中。

1 个答案:

答案 0 :(得分:1)

SIP的显示由操作系统处理,并始终位于任何应用程序的可视树之上。如果要提供自定义SIP,则需要提供备用输入控件,因为本机SIP的显示与输入控件(例如TextBoxPasswordBox等)相关联。您可能会发现有关creating a Bulgarian keyboard有用的文章。

要创建自定义TextBox,您可以从继承TextBox本身开始,但您可能会发现自己正在与默认实施进行斗争,因此您可能只想继承Control而不是

要打开自定义SIP而不是默认SIP,您需要将其绑定到自定义TextBox上的事件中,这是从Control继承可能会让您的生活更轻松的地方之一,因为如果您继承从TextBox开始,一旦收到焦点,默认的SIP就会显示出来。您可能希望为PhoneApplicationFrame制作ControlTemplate的SIP部分,以便保证它位于页面内容之上。

要在自定义TextBox中获取光标,您需要自己处理插入符号的显示,并在用户在自定义SIP上键入时更新它。

这是一项非常多的工作,可以实现听起来很简单的事情,我怀疑为什么还没有人这样做:)我肯定会建议将其作为官方WP7 Dev UserVoice forum

的一项功能。