C# 在onload时设置单个文本框焦点的最简单方法
基于此链接:,C# 在onload时设置单个文本框焦点的最简单方法,c#,wpf,xaml,C#,Wpf,Xaml,基于此链接:,Focus可以通过在StackPanel上设置FocusManager并指定elementName来设置。我试过了,效果不错。我想知道,如果我的XAML中只有一个文本框,而StackPanel是不必要的,那该怎么办 在我只有一个文本框的情况下,有没有其他简单的方法来设置焦点? 我也在上面的链接中尝试了第二个答案,但不起作用: <TextBox Text="{Binding MyText}" FocusManager.FocusedElement="{Binding
Focus
可以通过在StackPanel
上设置FocusManager
并指定elementName来设置。我试过了,效果不错。我想知道,如果我的XAML
中只有一个文本框,而StackPanel
是不必要的,那该怎么办
在我只有一个文本框的情况下,有没有其他简单的方法来设置焦点?
我也在上面的链接中尝试了第二个答案,但不起作用:
<TextBox Text="{Binding MyText}"
FocusManager.FocusedElement="{Binding RelativeSource={RelativeSource Self}}"/>
或
这将适用于您的情况。我以前这样做过,将焦点放在标题中-在本例中是一个用户控件,但对于窗口应该是相同的)
<TextBox Text="{Binding MyText}"
FocusManager.FocusedElement="{Binding RelativeSource={RelativeSource AncestorType=TextBox}}"/>
<TextBox x:Name="MyTBox" Text="{Binding MyText}"
FocusManager.FocusedElement="{Binding ElementName=MyTBox}"/>
<UserControl .....
FocusManager.FocusedElement="{Binding ElementName=TextBoxName}">