我ChildWindow
在 Silverlight 4 (beta) 中有一个简单的弹出窗口。
重要提示:这是一个浏览器外的应用程序。
我想TextBox
在窗口打开时自动将焦点设置在控件上。
我尝试了几件事:
以下代码似乎没有做任何事情。我认为控件在“加载”之后还没有准备好聚焦。
private void ChildWindow_Loaded(object sender, RoutedEventArgs e)
{
textBox1.Focus();
}
这行得通,但它很笨拙。
private void ChildWindow_GotFocus(object sender, RoutedEventArgs e)
{
if (_firstTime == true) {
textBox1.Focus();
_firstTime = false;
}
}
没有更好的方法吗?我总是不得不在 WinForms 中做这样可怕的事情,但希望不再需要这样做。
注意:这个类似的问题仅适用于浏览器。它建议调用System.Windows.Browser.HtmlPage.Plugin.Focus();
which 不起作用,实际上在 Silverlight 4 beta out-of-browser 上运行时会出错。