2015-10-01 44 views
0

想知道如何访问确实有重点的元素属性。我发现下面的代码,以查找聚焦元素:如何以编程方式访问聚焦元素WPF C#

var focusedControl = FocusManager.GetFocusedElement(this); 

这似乎很好地工作,在调试“focusedcontrol”是正确的元素,但是我不知道如何以编程方式访问它。喜欢的东西:

focusedControl.Text = "txt"; 

为什么我想这样做的原因 - 在为文本框我有几个按钮构成键盘相同的窗口。点击Button(Focusable = False)后,我想要获取对焦点TextBox的引用并在TextBox.Text中插入相应的数字。

由于 卢卡斯

回答

2

GetFocusedElement()方法返回IInputElement,而不是一个TextBox

由于FrameworkElement工具IInputElementControl(和TextBox)从FrameworkElement派生,你可以把结果为TextBox自己:

var focusedControl = FocusManager.GetFocusedElement(this); 

var tBox = focusedControl as TextBox; 

if (tBox != null) 
    tBox.Text = "txt"; 
相关问题