从Winforms中托管的控件获取TextBox数据

时间:2012-03-10 21:57:20

标签: c# wpf winforms textbox

我创建了文本框以在winforms中使用它们 - 文本框在wpf中完成并集成在表单中。问题是当我在其中输入一些文本时,它并没有真正“读取”它。文本框的名称是elementHost1,如果我这样:

string input1 = elementHost1.Text;

我在文本框中写了一些东西,它没有显示在字符串中。 WPF代码有什么问题吗?我查了一下“IsReadOnly”的内容,但没有那样的东西。

2 个答案:

答案 0 :(得分:2)

不,ElementHost的名称是elementHost1。文本框内部托管。您需要获取元素主机内的实际对象才能获得文本。

为此,请访问.Child property以获取ElementHost中托管的文本框:

var elementHost = this.elementHost1;
var wpfTextBox = (System.Windows.Controls.TextBox)elementHost.Child;
var text = wpfTextBox.Text;

答案 1 :(得分:0)

查看http://msdn.microsoft.com/en-us/library/ms742215.aspx,其中介绍了如何将数据发送回WinForms主机应用程序。