C# 当屏幕上有键盘时,如何捕获硬件后退键单击事件

C# 当屏幕上有键盘时,如何捕获硬件后退键单击事件,c#,windows-phone-8,on-screen-keyboard,C#,Windows Phone 8,On Screen Keyboard,我正在开发Windows Phone 8 PhoneGap应用程序。当屏幕键盘出现时,如果我们单击硬件后退键,它将关闭屏幕键盘。但在那个时候并没有任何事件被触发,包括BackKeyPress事件。我可以知道当屏幕上有键盘时如何捕获硬件BackKey click事件吗?如果我是对的,您希望捕获用户按下手机上back键时触发的事件,那么您可以覆盖该事件 protected override void OnBackKeyPress(System.ComponentModel.CancelEve

我正在开发Windows Phone 8 PhoneGap应用程序。当屏幕键盘出现时,如果我们单击硬件后退键,它将关闭屏幕键盘。但在那个时候并没有任何事件被触发,包括BackKeyPress事件。我可以知道当屏幕上有键盘时如何捕获硬件BackKey click事件吗?

如果我是对的,您希望捕获用户按下手机上back键时触发的事件,那么您可以覆盖该事件

    protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e)
    {
        base.OnBackKeyPress(e);

        //your logic goes here
    }
如果在屏幕上显示键盘时按键,默认行为是关闭键盘,则仅在键盘关闭后才能捕获此事件


如果要检测键盘的关闭,可以使用文本框的LostFocus事件或可能使用的任何其他类似控件。希望这有帮助

我不知道是否有一种简单的方法可以做到这一点,但您可以通过收听TextBox.LostFocus事件来了解键盘何时被隐藏


如果您有多个文本框,请检查其他文本框是否没有获得焦点

问题是,当屏幕上有键盘时,单击“硬件后退”键不会触发此事件。当我们按下“硬件后退”按钮时,即使LostFocus事件也不会触发。我会触发此事件,但如果您使用它来确定是否按下了“后退”按钮,则解决方案有点危险。文本框可能会因为其他一些原因而失去焦点。