TextBox总是专注

时间:2016-10-14 17:35:15

标签: c# wpf focus

我有一个带有TextBox和Button的窗口。我想始终关注我的TextBox,但允许用户单击该按钮。我该怎么办?

我通过使用LostFocusEvent来尝试它,它可以检查谁有焦点,如果它不是Button,它会将TextBox重新聚焦,但我总是得到一个System.StackOverflowException ...

这就是我使用的:

    private void TextLostFocus(object sender, RoutedEventArgs e)
    {
      IInputElement focusedControl = FocusManager.GetFocusedElement(this);

      if (focusedControl != btn && focusedControl != txt)
      {
        txt.Focus();
      }
    }

有办法做到这一点吗?

4 个答案:

答案 0 :(得分:0)

在按钮点击事件中,您可以将焦点重新设置回文本框。

textbox.focus();

答案 1 :(得分:0)

Textbox.Select();

Focus是一种用于自定义控件的低级方法。我会坚持选择()或激活()

答案 2 :(得分:0)

private void TextLostFocus(object sender, RoutedEventArgs e)
{
  ((TextBox) sender).Focus();
}

答案 3 :(得分:0)

您可以使用ActiveControl属性将焦点设置到文本框中。

    this.ActiveControl = yourTextboxName;