我的主窗口有一个内容控件,我将用户控件加载到其中。我看不到将焦点设置到用户控件中的文本框。我尝试了几种建议的方法,例如textBox1.Focus()
and Keyboard.Focus()
,FocusManager.SetFocusedElement()
但它们似乎不起作用。
如果有更好的方法,我不会拘泥于这种加载用户控件的方式。似乎我错过了关于焦点或 ContentControl 的一些非常基本的东西,所以我想我会问专家而不是继续解决问题。
有任何想法吗?
MainWindow.xaml:
<Grid>
<ContentControl Name="NavFrame"/>
</Grid>
MainWindow.xaml.cs:
protected override void OnInitialized(EventArgs e)
{
this.NavFrame.Content = new UserControl1();
base.OnInitialized(e);
}
用户控件1.xaml:
<Grid>
<TextBox Height="23" HorizontalAlignment="Left" Margin="93,79,0,0" Name="textBox1" VerticalAlignment="Top" Width="120" />
</Grid>
UserControl1.xaml.cs:
protected override void OnInitialized(EventArgs e)
{
textBox1.Focus();
// FocusManager.SetFocusedElement(this, textBox1);
// Keyboard.Focus(textBox1);
base.OnInitialized(e);
}