C# 如何在另一个窗口中读取文本框的文本

C# 如何在另一个窗口中读取文本框的文本,c#,wpf,C#,Wpf,我有一个文本框,textBoxQuery,在窗口QueryWindow中 我需要在另一个窗口MainWindow中访问textBoxQuery的文本 我在QueryWindow中有以下访问器: 我尝试在主窗口中使用它: 然而,我被抛出了一个CS0120错误。非静态字段、方法或属性需要对象引用 我还尝试在QueryWindow中实现以下方法: 然后在主窗口中使用以下命令: 但上述措施都不起作用 我在谷歌上搜索过,但我找到的所有解决方案似乎都不起作用。从另一个窗口/类访问控件属性的正确方法是什么?噢

我有一个文本框,textBoxQuery,在窗口QueryWindow中

我需要在另一个窗口MainWindow中访问textBoxQuery的文本

我在QueryWindow中有以下访问器:

我尝试在主窗口中使用它:

然而,我被抛出了一个CS0120错误。非静态字段、方法或属性需要对象引用

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

然后在主窗口中使用以下命令:

但上述措施都不起作用

我在谷歌上搜索过,但我找到的所有解决方案似乎都不起作用。从另一个窗口/类访问控件属性的正确方法是什么?

噢! 评估器用于访问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.
只要您有对MyQueryWindowW1或MyQueryWindowW2的引用,就可以使用acessor获取实例的状态:

所以QueryWindow.queryString不起作用,因为程序无法判断您想要哪个QueryWindow实例


希望这有帮助

你错过了关于面向对象编程的重要一课。我会先读一本书。
cmdLine += QueryString;
public string queryString()
{
    return textBoxQuery.Text;
}
cmdLine += QueryWindow.queryString();
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.
string myString = myQueryWindow1.queryString();