在我的Silverlight应用程序中,我似乎无法将焦点带到TextBox控件.在各种帖子的推荐下,我将IsTabStop属性设置为True,我使用的是TextBox.Focus().虽然UserControl_Loaded事件正在触发,但TextBox控件没有获得焦点.我在下面包含了我非常简单的代码.我错过了什么?谢谢.
Page.xaml
Page.xaml.cs
using System.Windows; using System.Windows.Controls; namespace PasswordTextboxTest { public partial class Page : UserControl { public Page() { InitializeComponent(); } private void UserControl_Loaded(object sender, RoutedEventArgs e) { RegularTextBox.Focus(); } } }
小智.. 41
我在silverlight.net上找到了这个,并且通过在调用RegularTextBox.Focus()之前添加对System.Windows.Browser.HtmlPage.Plugin.Focus()的调用,能够让它为我工作:
private void UserControl_Loaded(object sender, RoutedEventArgs e) { System.Windows.Browser.HtmlPage.Plugin.Focus(); RegularTextBox.Focus(); }
rekle.. 23
Plugin.Focus();
不适合我.
调用
Dispatcher.BeginInvoke(() => { tbNewText.Focus();});
从Load事件起作用.
我在silverlight.net上找到了这个,并且通过在调用RegularTextBox.Focus()之前添加对System.Windows.Browser.HtmlPage.Plugin.Focus()的调用,能够让它为我工作:
private void UserControl_Loaded(object sender, RoutedEventArgs e) { System.Windows.Browser.HtmlPage.Plugin.Focus(); RegularTextBox.Focus(); }
Plugin.Focus();
不适合我.
调用
Dispatcher.BeginInvoke(() => { tbNewText.Focus();});
从Load事件起作用.
谢谢Santiago Palladino Dispatcher完美地为我工作.我在做的是:
this.Focus(); 然后Dispatcher.BeginInvoke(()=> {tbNewText.Focus();});