如何在不使用MVVM的情况下从另一个窗口更新WPF中的dataGrid?

时间:2016-07-10 19:54:37

标签: c# wpf

我看了this link以找到我的问题的答案。但我想知道,有没有办法让我们不必使用MVVM。首先,让我问一下我的问题!!我在名为MainWindow的窗口上有一个DataGrid控件。从MainWindow我打开另一个名为NewWindow的窗口。在NewWindow我有一些文本框和一个按钮。在NewWindow,有人可以输入有关客户的信息,然后将这些信息保存到数据库中,因此我在NewWindow按钮后面使用以下代码。

var Que = (from P in FaceDB.tblUsers where P.UserId == mytxtbox1.Text.ToString() select P).SingleOrDefault();

                Que.Pass = mytxtbox2.Text.ToString();
                FaceDB.SaveChanges();

保存这些信息后,我想更新MainWindow中的DataGrid。我尝试使用以下代码,但没有一个不起作用:

Que.Pass = mytxtbox2.Text.ToString();
FaceDB.SaveChanges();
MainPage MPWin = new MainPage();
MPWin.mydatagridt.UpdateLayout();

OR:

MPWin.mydatagrid.Items.Refresh();

OR:

CollectionViewSource.GetDefaultView(mydatagrid.ItemsSource).Refresh();

1 个答案:

答案 0 :(得分:0)

可以使用DataGrid直接在ItemsSource的代码中设置数据,以下是对您的示例的修改:

Que.Pass = mytxtbox2.Text.ToString();
FaceDB.SaveChanges();

MainPage MPWin = new MainPage();

MPWin.mydatagridt.ItemsSource = Que.ToList();