按钮单击和虚拟键盘输入关键Windows Phone 8

Kar*_*hik 1 c# xaml windows-phone-8 visual-studio-2013

我正在开发一款适用于Windows手机的应用.我有一个登录界面,用户必须输入用户名并点击界面中的LOGIN按钮或手机虚拟键盘中的回车键.我分别捕获了两个事件.LOGIN按钮有一个"Click"事件,用于记录用户,并且虚拟键盘中的enter键有一个"KeyDown"事件,其代码与Click事件的代码相同.事件很好.一旦登录按钮或按下回车键,它就会记录用户.但只有当按两次登录按钮或回车键时. 在第一次单击时捕获事件(我看到页面正在刷新),但只有第二次单击才能将用户带入应用程序.从这个问题出来的任何可能的想法?之前我没有LOGIN按钮,只使用虚拟键盘中的回车键,第一次点击时工作正常

关心Karthik

Vla*_*sev 5

刚创建的简单示例工作正常,尝试重现它.XAML:

<StackPanel Orientation="Horizontal">
    <TextBox KeyDown="TextBox_KeyDown"/>
    <Button Click="Button_Click" VerticalAlignment="Top"/>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

代码隐藏:

private void TextBox_KeyDown(object sender, KeyRoutedEventArgs e)
{
    if (e.Key == Windows.System.VirtualKey.Enter || e.Key == Windows.System.VirtualKey.Accept)
        HandleAll();
}

private void Button_Click(object sender, RoutedEventArgs e)
{
    HandleAll();
}

private void HandleAll()
{
    //Hit breakpoint here
}
Run Code Online (Sandbox Code Playgroud)

单击"按钮"或"键盘输入"时,每次调用"HandleAll"方法.