在TabItem控件上有一个TextBox项(MyTextBox)。我的代码如下所示:

MyTextBox.Focus();
Keyboard.Focus(MyTextBox);


当我通过调试器运行此代码时,执行这些行后会看到以下内容:

MyTextBox.IsFocused = true
MyTextBox.IsKeyboardFocused = false


谁能告诉我为什么文本框没有得到键盘焦点?只是启用了一个标准的TextBox控件。

最佳答案

MyTextBox.IsKeyboardFocused是错误的,因为您正在调试器下查看它,并且键盘焦点可能在Visual Studio中...尝试在没有断点(例如Debug.Write或跟踪制动点)的情况下调试焦点,以查看运行时MyTextBox.IsKeyboardFocused的实际值。

还要注意,Focus()方法返回布尔值,该值指示是否成功设置了焦点。在您的情况下,它是否返回False?如果是,我建议使用stepping into Focus()方法来找出错误所在。

08-16 10:11