如何在WPF中单击按钮来初始化文本框并将焦点设置到文本框

时间:2018-09-11 06:31:22

标签: c# wpf

我有一个按钮单击事件,在该事件中我初始化了一个新的TextBox并尝试使其专注于它,但它不起作用。(我猜该TextBox尚未加载,因此无法集中注意力)

 private void Button_Click(object sender, RoutedEventArgs e)
    {
        TextBox box = new TextBox();
        box.Width = 200;
        box.Height = 30;
        box.Focusable = true;
        box.Focus();
        this.stackPanel.Children.Add(box);
    }

我如何获得关注?

在Xaml中,我有一个StackPanel和一个按钮

谢谢。

2 个答案:

答案 0 :(得分:1)

.Focus()添加到堆栈面板后,需要调用它。

private void Button_Click(object sender, RoutedEventArgs e)
{
    TextBox box = new TextBox();
    box.Width = 200;
    box.Height = 30;
    box.Focusable = true;

    this.stackPanel.Children.Add(box);
    box.Focus();
}

答案 1 :(得分:1)

我认为您应该尝试一下,首先将文本框添加到面板中,然后专注于它。

TextBox box = new TextBox();
box.Width = 200;
box.Height = 30;
box.Focusable = true;
this.stackPanel.Children.Add(box);
box.Focus();