日期:2014-05-17  浏览次数:20665 次

windowsphone7 关于隐藏虚拟软键盘(SIP)的方法

在windowsphone7中,SIP是无法控制的。当输入框(例如TextBox)聚焦时,那么软键盘就会自动弹出来;当文本输入型的控件失去焦点时,软键盘就会自动隐藏。

但有时候,我们想强制隐藏SIP(例如在显示SIP的时候想保存页面信息,并在隐藏SIP后实现页面跳转等),这个时候应该怎么做呢?

我想到的第一个方法是,让聚焦的输入控件失去焦点。怎么失去焦点呢,用了一个比较取巧的方法:

假如有个TextBox叫UsernameTB,那么这两行代码就可以实现需求---

UserNameTB.Visibility = Visibility.Collapsed;
UserNameTB.Visibility = Visibility.Visible;
事实上,当一个页面中有多个输入控件时,这种方法显得有点余力不足。而更好的办法应该是将焦点移到其它非输入型的控件中,或者直接聚焦到整个页面来。

对了,就应该是这样。而实现这样的要求只需要一句话:

this.Focus();
暂时来说,这应该是最好用的解决方法了。