我正在使用C#作为Windows运行时应用程序开发Windows Phone 8.1的聊天应用程序。我不想模仿在Skype或Facebook Messenger for Windows Phone等应用程序中发现的行为,在您输入消息并点击AppBar上的发送按钮后,键盘保持不动,您可以继续键入下一条消息。
到目前为止我做了什么:
我尝试将焦点设置回发送按钮的事件处理程序中的TextBox,如下所示:
private async void AppBarButtonSendMessage_Click(object sender, RoutedEventArgs e)
{
TextBox tb = FindChildControl<TextBox>(ChatSection, "TextBoxMessage") as TextBox;
tb.Focus(Windows.UI.Xaml.FocusState.Programmatic);
if (await HttpHelper.SendMessage(tb.Text))
{
RefreshMessages();
tb.Text = "";
}
}
(TextBox位于Hub控件中,这就是我使用FindChildControl
方法的原因。)
这样键盘会消失一秒然后重新出现,这很烦人。我该如何避免这种行为?