如何在不使用 MVVM 的情况下从另一个窗口更新 WPF 中的数据网格

本文关键字:更新 窗口 WPF 网格 数据网 数据 另一个 情况下 MVVM | 更新日期: 2023-09-27 17:56:10

我阅读此链接以找到我的问题的答案。 但我想知道,有没有办法我们不必使用 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();

保存这些信息后,我想在主窗口中更新数据网格。 我尝试使用以下代码,但没有一个不起作用:

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

或:

MPWin.mydatagrid.Items.Refresh();

或:

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

如何在不使用 MVVM 的情况下从另一个窗口更新 WPF 中的数据网格

可以使用

ItemsSource直接在代码中为DataGrid设置数据,这是对您的示例的修改:

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