将变量从一个WPF窗口传递到另一个(C#)

时间:2015-12-28 17:29:01

标签: c# wpf visual-studio

我不得不问这个问题。答案应该是显而易见的;但是,我在这里和谷歌搜索无济于事。

我对WPF很新。使用Windows Forms,我记得在Windows之间传递数据非常容易,但我无法用我的WPF应用程序解决这个问题。

我只是为自己构建一个应用程序,允许我访问和插入MySQL数据库中的数据。当我添加了查看表中所有记录的按钮时,我想要打开一个新窗口。该窗口将只显示所有数据;该表将在MainWindow中选择。

我遇到的问题是:我需要为辅助窗口(View)知道选择了哪个表。我可能会使用ListBox控件来选择表,但在一天结束时它确实无关紧要。最终,该值将作为字符串存储在变量中。我需要View窗口才能访问此字符串,以便它知道要查询的表。例如:

//主窗口

private void viewButton_Click(object sender, RoutedEventArgs e)
    {
        var table = "DS";
                View viewWindow = new View();
                viewWindow.Show();                
        }

//查看窗口

private void windowLoad(object sender, RoutedEventArgs e)
    {
        DatabaseConnection myConnection = new DatabaseConnection();
        List<string>[] result = myConnection.Select(table);

        text.Text = MainWindow.test + (result[0][0] + " " + result[1][0] + " " + result[2][0] + " " + result[3][0]);

    }

我需要做的就是将表的值(根据用户输入在最终应用程序中有所不同)传递给View。例如,我需要它,以便在上面的代码中,将执行以下操作:

List<string>[] result = myConnection.Select("DS");

我觉得这应该是显而易见的,但我不知道如何做到这一点。我真诚地感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

您可以通过构造函数传递变量,就像这样

public View(string table)
{
     this.table = table;
}

初始化窗口时:

var table = "DS";
View viewWindow = new View(table);
viewWindow.Show();