2012-02-09 30 views
0

我注意到,当显示SIP键盘时,当用户通过WP7后退按钮解除键盘操作时,不会触发事件OnBackKeyPress事件。如何确定何时WP7 SIP键盘已被解雇

有没有一种方法可以让我确定何时通过后退按钮解除了键盘的锁定?

感谢

回答

1

您可以处理文本框的KeyUp事件,然后检查PlatformKeyCode

<TextBox Text="TextBox" Width="460" KeyUp="Textbox_KeyUp" /> 

然后,在你的事件处理程序:

private void Textbox_KeyUp(object sender, KeyEventArgs e) 
{ 
    //27 is the PKC for the hardware back button 
    if (e.PlatformKeyCode == 27) 
    { 
     //Backbutton is pressed 
    }    
} 
+0

我想你误会了,我的意思是WP7后退按钮,而不是“退格键”。硬件后退按钮。您的解决方案是否会在这种情况下工作,因为事件KeyUp事件与该硬件按钮确实无关? – Senkwe 2012-02-10 08:26:26

+0

使用'KeyUp'是因为文本框正在吸收后退按钮事件(因此它可以被解散)。你通常使用的重写是从页面调用的,这就是为什么当你重写OnBackKeyPress时它工作的原因。所以上面的代码从文本框中读取并检测硬件后退按钮何时被按下。 – keyboardP 2012-02-10 15:00:25

+0

嗯,我只是试了一下,不幸的是它不工作。不过Ku6opr的建议完美无缺。感谢您的建议:-) – Senkwe 2012-02-10 16:08:29

1

检查上TextBoxLostFocus事件。也许它可以适合你(但当用户点击TextBox以外时也会触发)

+0

谢谢,我现在不在我的电脑里,但我也会给出一个镜头。 – Senkwe 2012-02-10 09:28:59

+0

完美,在后见之明是如此明显:-)谢谢 – Senkwe 2012-02-10 16:08:55

相关问题