我創建了文本框以在winforms中使用它們 - 文本框在wpf中完成並集成在窗體中。問題是當我輸入一些文本時,它並不真正「讀取」它。文本框中的名稱是elementHost1,如果我是這樣的:從Winforms中託管的控件獲取TextBox數據
string input1 = elementHost1.Text;
,我寫在文本框中的東西,它不是字符串中所示。 WPF代碼中有錯嗎?我檢查了一些說「IsReadOnly」的東西,但沒有那樣的東西。
我創建了文本框以在winforms中使用它們 - 文本框在wpf中完成並集成在窗體中。問題是當我輸入一些文本時,它並不真正「讀取」它。文本框中的名稱是elementHost1,如果我是這樣的:從Winforms中託管的控件獲取TextBox數據
string input1 = elementHost1.Text;
,我寫在文本框中的東西,它不是字符串中所示。 WPF代碼中有錯嗎?我檢查了一些說「IsReadOnly」的東西,但沒有那樣的東西。
看看http://msdn.microsoft.com/en-us/library/ms742215.aspx,它描述瞭如何將數據發送回WinForms主機應用程序。
不,ElementHost的名稱是elementHost1。文本框託管在裏面。您需要查看元素主機中的實際對象才能看到文本。
爲了做到這一點,請訪問.Child property獲得在ElementHost的內舉辦的文本框:
var elementHost = this.elementHost1;
var wpfTextBox = (System.Windows.Controls.TextBox)elementHost.Child;
var text = wpfTextBox.Text;
如何做到這一點? MSDN幫助不大。我嘗試了幾種方案,大多數情況下代碼沒有編譯,一旦執行但不能再次運行。 – 2012-03-10 22:38:38
我已經更新了我的答案。 – 2012-03-12 02:29:33
檢查這個答案,注意使用Text屬性:http://stackoverflow.com/questions/4024798 /試用該c-sharp-spellcheck-class/4026132#4026132 – 2012-03-10 22:09:00