C# 如何在不使用MVVM的情况下从另一个窗口更新WPF中的dataGrid?
我读书是为了找到我问题的答案。但我想知道,有没有一种方法我们不必使用MVVM。首先,让我问一下我的问题!!我在一个名为C# 如何在不使用MVVM的情况下从另一个窗口更新WPF中的dataGrid?,c#,wpf,C#,Wpf,我读书是为了找到我问题的答案。但我想知道,有没有一种方法我们不必使用MVVM。首先,让我问一下我的问题!!我在一个名为MainWindow的窗口上有一个DataGrid控件。从main窗口我打开另一个名为NewWindow的窗口。在NewWindow中,我有一些文本框和一个按钮。在NewWindow中,有人可以输入有关客户的信息,然后将这些信息保存到数据库中,因此我在NewWindow中的按钮后面使用以下代码 var Que = (from P in FaceDB.tblUsers where
MainWindow
的窗口上有一个DataGrid控件。从main窗口
我打开另一个名为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();
保存这些信息后,我想在主窗口中更新DataGrid。我尝试使用以下代码,但没有一个代码不起作用:
Que.Pass = mytxtbox2.Text.ToString();
FaceDB.SaveChanges();
MainPage MPWin = new MainPage();
MPWin.mydatagridt.UpdateLayout();
或:
或:
您可以使用
项目资源
直接在代码中为数据网格
设置数据,下面是对示例的修改:
Que.Pass = mytxtbox2.Text.ToString();
FaceDB.SaveChanges();
MainPage MPWin = new MainPage();
MPWin.mydatagridt.ItemsSource = Que.ToList();
谢谢,但我有一个错误:
无法将类型“FaceApp.FaceDBEntities.tblUser”隐式转换为“System.Collections.IEnumerable”
无论如何,我尝试使用以下代码,但它也不起作用:var q=from b in FaceDB.tblUser选择b;MPWin.mydatagrid.ItemsSource=null;MPWin.mydatagrid.ItemsSource=q.ToList();MPWin.mydatagrid.Items.Refresh()
@Saeid one需要提供一个硬列表,以便使用前面提到的ToList()
。检查调试器中的数据,它是否正确存在,数据网格是否自动生成列?您需要提供XAML。
CollectionViewSource.GetDefaultView(mydatagrid.ItemsSource).Refresh();
Que.Pass = mytxtbox2.Text.ToString();
FaceDB.SaveChanges();
MainPage MPWin = new MainPage();
MPWin.mydatagridt.ItemsSource = Que.ToList();