我正在开发Windows Phone应用程序。我有一个登录屏幕,用户必须在其中输入用户名,然后单击UI中的LOGIN按钮或电话的虚拟键盘中的Enter键。我分别捕获了两个事件。LOGIN按钮具有一个“ Click”事件,该事件使用户登录,并且虚拟键盘中的Enter键存在一个“ KeyDown”事件,该事件的代码与Click事件的代码相同。事件运行正常。一旦按下登录按钮或回车键,它将使用户登录。但仅在两次按下登录按钮或Enter键时。该事件在第一次单击中被捕获(我看到页面正在刷新),但是只有第二次单击才将用户带入应用程序。这个问题有什么想法吗?之前我没有LOGIN按钮,仅使用虚拟键盘中的Enter键,第一次单击时一切正常
问候卡尔西克
刚刚创建了运行良好的简单示例,请尝试重现它。Xaml:
<StackPanel Orientation="Horizontal">
<TextBox KeyDown="TextBox_KeyDown"/>
<Button Click="Button_Click" VerticalAlignment="Top"/>
</StackPanel>
后台代码:
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
}
单击“按钮”或“键盘输入”时,每次都会调用“ HandleAll”方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句