Windows 8 如何在metro风格的应用程序中设置richeditbox焦点?

Windows 8 如何在metro风格的应用程序中设置richeditbox焦点?,windows-8,setfocus,Windows 8,Setfocus,我有以下代码: private async void SendMsg_Click(object sender, RoutedEventArgs e) { RichEditBox.Document.SetText(TextSetOptions.None, ""); await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { if(RichEditBox!=null) SendBox

我有以下代码:

 private async void SendMsg_Click(object sender, RoutedEventArgs e)
{
 RichEditBox.Document.SetText(TextSetOptions.None, "");
 await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
    {
       if(RichEditBox!=null)
       SendBox.Focus(Windows.UI.Xaml.FocusState.Keyboard);
    });
 }
但是当点击时,RichEditBox没有得到焦点。我的代码怎么了?谢谢

抱歉,我忘记添加以下代码:“MsgWebView.NavigateToString(“Hello World!”);”。我发现问题就在这里。因此,整个代码如下所示:

private void SendMsg_Click(object sender, RoutedEventArgs e)
{
   MsgWebView.NavigateToString("Hello  World!");
   SendBox.Focus(Windows.UI.Xaml.FocusState.Programmatic);

}
如何解决这个问题? 致以最诚挚的问候。

您需要使用FocusState(非键盘)上的选项


您是否试图通过将焦点设置为RTB以编程方式打开键盘?另外,这是在桌面还是地铁中?地铁中可能有重复。谢谢你的回答。谢谢你的回答。我发现问题不在于键盘,而在于代码:MsgWebView.NavigateToString(“Hello World!”);我在Click事件中添加了此代码,因此整个代码如下:谢谢您的回答。我发现问题不在于键盘,而在于代码:MsgWebView.NavigateToString(“Hello World!”);我在Click事件中添加了这段代码,所以整个代码如下:'private void SendMsg_Click(object sender,RoutedEventArgs e){MsgWebView.NavigateToString(“Hello World!”);SendBox.Focus(Windows.UI.Xaml.FocusState.Keyboard);}
SendBox.Focus(Windows.UI.Xaml.FocusState.Programmatic);