2012-07-31 18 views
1

我有以下代码:如何在metro风格的应用程序设置重点放在richeditbox上?

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因此未得到focus.What的错我的代码?感谢

对不起,我忘了添加以下代码:“MsgWebView.NavigateToString(”你好!世界“);”而且我发现,问题出在here.So整个代码是这样的:

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

} 

如何解决这个问题? 此致敬礼。

+0

您是否试图通过将焦点设置为RTB以编程方式打开键盘?另外,这是在桌面或地铁? – mydogisbox 2012-07-31 16:46:22

+0

[如何隐藏在EditText软键盘的Windows 8 Metro应用程序?]的可能重复(http://stackoverflow.com/questions/10714431/how-to-hide-on-edittext-soft-keyboard-windows-8-metro - 应用程序) – mydogisbox 2012-07-31 16:56:02

+0

这是在Metro.Thanks为您的答案。 – user1462922 2012-08-01 01:22:42

回答

2

您需要在FocusState(不是键盘)上使用Programmatic选项。

SendBox.Focus(Windows.UI.Xaml.FocusState.Programmatic); 
+0

感谢您的回答。我发现问题不是键盘,而是代码: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); }); } – user1462922 2012-08-01 01:06:10

相关问题