[英]How to access focused element programmatically WPF C#
想知道如何访问具有焦点的elements属性。 我已经找到以下代码来查找关注的元素:
var focusedControl = FocusManager.GetFocusedElement(this);
这似乎运作良好,在调试中“ focusedcontrol”是正确的元素,但是我不知道如何以编程方式访问它。 就像是 :
focusedControl.Text = "txt";
我想要这样做的原因-在与TextBoxes相同的窗口中,我有几个构成键盘的Buttons。 按下按钮后(Focusable = False),我想获取对焦点TextBox的引用,并在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";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.