发现个有关问题:页面中显示虚拟键盘BackKeyPress事件不执行

发现个问题:页面中显示虚拟键盘BackKeyPress事件不执行
页面中有一个TextBox获得焦点之后,虚拟键盘跳出,此时按下手机上的后退键,虚拟键盘消失、TextBox失去焦点,但是页面并没有返回上一页。如果你在后台中添加BackKeyPress事件并加上断点之后,你会发现“当虚拟键盘存在的时候,按后退键BackKeyPress并没有执行,之后虚拟键盘消失TextBox失去焦点才执行BackKeyPress事件”。
大家谁知道什么原因呢?

------解决方案--------------------
不是先让虚拟键盘关闭了吗?
------解决方案--------------------
猜测是有键盘时的后退事件被键盘(模态)提前捕了。
------解决方案--------------------
这个是可以用代码控制的!
------解决方案--------------------
BackKeyPress

事件下让textbox失去焦点就可以了吧!
------解决方案--------------------
探讨

引用:

猜测是有键盘时的后退事件被键盘(模态)提前捕了。


应该和对话框的时候一样,但是有虚拟键盘的时候,对用户来说,应该还是那个页面,微软提供后退按钮的作用是返回上一页,现在虚拟键盘存在,按后退按钮无法返回上一页,用户就会困惑了。
必须要按两下才能返回上一页,真的有点不爽了。

------解决方案--------------------
如果你要调试的话,完全可以把焦点给另一个控件,这样那个TEXTBOX就失去焦点了。判断焦点在哪,就要遍历当前VIEW当中有哪些控件。看一下是不是有焦点。感觉你这个问题是调试的问题,因为模拟器在加入断点的时候就会失去焦点。想要排除这个原因,那议你不要加断点,也别用MESSAGEBOX直接输入日志看一下。