如何以编程方式访问焦点元素 WPF C#
How to access focused element programmatically WPF C#
想知道我应该如何访问具有焦点的元素 属性。我找到了以下代码来查找焦点元素:
var focusedControl = FocusManager.GetFocusedElement(this);
这似乎运行良好,在调试中 "focusedcontrol" 是正确的元素,但我不知道如何以编程方式访问它。像 :
focusedControl.Text = "txt";
我想这样做的原因 - 在与文本框相同的 window 中,我有几个按钮组成一个键盘。点击 Button (Focusable = False) 后,我想引用聚焦的 TextBox 并在 TextBox.Text.
中插入相应的数字
谢谢
卢卡斯
GetFocusedElement()
方法returnsIInputElement
,不是TextBox
。
由于 FrameworkElement
实现 IInputElement
,并且 Control
(和 TextBox
)派生自 FrameworkElement
,您可以将结果转换为 TextBox
你自己:
var focusedControl = FocusManager.GetFocusedElement(this);
var tBox = focusedControl as TextBox;
if (tBox != null)
tBox.Text = "txt";
想知道我应该如何访问具有焦点的元素 属性。我找到了以下代码来查找焦点元素:
var focusedControl = FocusManager.GetFocusedElement(this);
这似乎运行良好,在调试中 "focusedcontrol" 是正确的元素,但我不知道如何以编程方式访问它。像 :
focusedControl.Text = "txt";
我想这样做的原因 - 在与文本框相同的 window 中,我有几个按钮组成一个键盘。点击 Button (Focusable = False) 后,我想引用聚焦的 TextBox 并在 TextBox.Text.
中插入相应的数字谢谢 卢卡斯
GetFocusedElement()
方法returnsIInputElement
,不是TextBox
。
由于 FrameworkElement
实现 IInputElement
,并且 Control
(和 TextBox
)派生自 FrameworkElement
,您可以将结果转换为 TextBox
你自己:
var focusedControl = FocusManager.GetFocusedElement(this);
var tBox = focusedControl as TextBox;
if (tBox != null)
tBox.Text = "txt";