Silverlight 4.0 在Silverlight中,如何在页面加载时设置控件的焦点?
加载Silverlight页面时,我希望将焦点设置在控件上。简单的问题,有一个不太明显的解决方案 我尝试了以下方法,但没有成功。页面已加载,但我的控件没有焦点Silverlight 4.0 在Silverlight中,如何在页面加载时设置控件的焦点?,silverlight-4.0,silverlight-3.0,Silverlight 4.0,Silverlight 3.0,加载Silverlight页面时,我希望将焦点设置在控件上。简单的问题,有一个不太明显的解决方案 我尝试了以下方法,但没有成功。页面已加载,但我的控件没有焦点 public MainPage() { InitializeComponent(); if( !DesignerProperties.IsInDesignTool ) { // some init code goes here... this.Loaded += ( s, e )
public MainPage()
{
InitializeComponent();
if( !DesignerProperties.IsInDesignTool )
{
// some init code goes here...
this.Loaded += ( s, e ) =>
{
this.InitFocus();
};
}
}
private void InitFocus()
{
this.PropNumTextBox.Focus();
}
解决方案是使用
System.Windows.Browser.HtmlPage.Plugin.Focus()
。当我在调用初始控件上的Focus之前调用它时,它会按预期工作。正确的代码如下所示:
public MainPage()
{
InitializeComponent();
if( !DesignerProperties.IsInDesignTool )
{
// init code here...
this.Loaded += ( s, e ) =>
{
this.InitFocus();
};
}
}
private void InitFocus()
{
// this call is necessary to initialize focus on page load
System.Windows.Browser.HtmlPage.Plugin.Focus();
this.PropNumTextBox.Focus();
}