如何在另一个窗口中阅读textBox的文本

时间:2017-11-10 22:45:05

标签: c# wpf

我在窗口textBoxQuery中有一个textBox QueryWindow

我需要在另一个窗口textBoxQuery中访问Text的{​​{1}}。

我在MainWindow中有以下访问者:

QueryWindow

我尝试在public string QueryString { get { return textBoxQuery.Text; } set { textBoxQuery.Text = value; } } 中使用它:

MainWindow

但是,我遇到cmdLine += QueryString; 错误。 “非静态字段,方法或属性需要对象引用。”

我还尝试在CS0120中实现以下方法:

QueryWindow

然后在public string queryString() { return textBoxQuery.Text; } 中使用以下内容:

MainWindow

但以上都没有奏效。

我搜索了Google,但我找到的解决方案似乎都没有。从另一个窗口/类访问控件属性的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

哦! 评估者用于访问类型为QueryWindow的类(对象)的实例! 基本上,你可以通过这样做来创建一堆查询窗口(每个窗口都是它们自己的实例):

QueryWindow myQueryWindow1 = new QueryWindow();
myQueryWindow1.show()
QueryWindow myQueryWindow2 = new QueryWindow();
myQueryWindow2.show()
// Note, the shows are only needed to make instances visible to the user.

只要您引用myQueryWindow1myQueryWindow2,就可以使用访问者来获取实例的状态:

string myString = myQueryWindow1.queryString();

所以QueryWindow.queryString()不起作用,因为程序无法告诉你想要哪个QueryWindow实例!

希望这有帮助!