如何以编程方式访问焦点元素
本文关键字:访问 焦点 元素 方式 编程 | 更新日期: 2023-09-27 18:15:48
想知道我应该如何访问元素的属性,它确实有焦点。我找到了以下代码来查找焦点元素:
var focusedControl = FocusManager.GetFocusedElement(this);
这似乎工作得很好,在调试"focusedcontrol"是正确的元素,但我不知道如何以编程方式访问它。例如:
focusedControl.Text = "txt";
我想这样做的原因-在相同的窗口作为文本框,我有几个按钮,形成一个小键盘。点击按钮(可聚焦= False)后,我想获得对聚焦文本框的参考并在TextBox. text中插入相应的数字。
谢谢卢卡斯
GetFocusedElement()
方法返回IInputElement
,而不是TextBox
。
由于FrameworkElement
实现了IInputElement
,而Control
(和TextBox
)派生自FrameworkElement
,您可以自己将结果强制转换为TextBox
:
var focusedControl = FocusManager.GetFocusedElement(this);
var tBox = focusedControl as TextBox;
if (tBox != null)
tBox.Text = "txt";