C# 文本框总是聚焦的

C# 文本框总是聚焦的,c#,wpf,focus,C#,Wpf,Focus,我有一个带有文本框和按钮的窗口。我希望始终聚焦文本框,但允许用户单击按钮。我怎么做 我用LostFocusEvent试过了,它会检查谁有焦点,如果不是按钮,它会将文本框重新聚焦,但我总是得到一个系统。StackOverflowException 这就是我所使用的: private void TextLostFocus(object sender, RoutedEventArgs e) { IInputElement focusedControl = FocusMana

我有一个带有文本框和按钮的窗口。我希望始终聚焦文本框,但允许用户单击按钮。我怎么做

我用LostFocusEvent试过了,它会检查谁有焦点,如果不是按钮,它会将文本框重新聚焦,但我总是得到一个系统。StackOverflowException

这就是我所使用的:

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

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

有没有办法做到这一点?

在按钮单击事件中,您可以像这样将焦点返回到文本框

textbox.focus();

在按钮点击事件中,您可以像这样将焦点返回到文本框

textbox.focus();
焦点是用于自定义控件的较低级别方法。我会坚持选择()或激活()


焦点是用于自定义控件的较低级别方法。我会坚持选择()或激活()

您可以使用ActiveControl属性设置文本框的焦点

    this.ActiveControl = yourTextboxName; 

您可以使用ActiveControl属性设置文本框的焦点

    this.ActiveControl = yourTextboxName; 

发布代码示例时,请解释为什么这会帮助作者解决原始问题。发布代码示例时,请解释为什么这会帮助作者解决原始问题。