Как инициализировать и установить фокус на текстовое поле одним нажатием кнопки в WPF - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть событие нажатия кнопки, когда я инициализирую новый 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 голосов
/ 11 сентября 2018

Я думаю, вы должны попробовать это, сначала добавьте текстовое поле на панель, а затем сфокусируйтесь на нем.

TextBox box = new TextBox();
box.Width = 200;
box.Height = 30;
box.Focusable = true;
this.stackPanel.Children.Add(box);
box.Focus();
0 голосов
/ 11 сентября 2018

Вам нужно позвонить .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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...