繁体   English   中英

如何以编程方式访问WPF C#中的焦点元素

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM