首页 > 解决方案 > 如何在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 和一个按钮

提前致谢。

标签: c#wpf

解决方案


您需要.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();
}

推荐阅读