Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在不使用MVVM的情况下从另一个窗口更新WPF中的dataGrid?_C#_Wpf - Fatal编程技术网

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

C# 如何在不使用MVVM的情况下从另一个窗口更新WPF中的dataGrid?,c#,wpf,C#,Wpf,我读书是为了找到我问题的答案。但我想知道,有没有一种方法我们不必使用MVVM。首先,让我问一下我的问题!!我在一个名为MainWindow的窗口上有一个DataGrid控件。从main窗口我打开另一个名为NewWindow的窗口。在NewWindow中,我有一些文本框和一个按钮。在NewWindow中,有人可以输入有关客户的信息,然后将这些信息保存到数据库中,因此我在NewWindow中的按钮后面使用以下代码 var Que = (from P in FaceDB.tblUsers where

我读书是为了找到我问题的答案。但我想知道,有没有一种方法我们不必使用MVVM。首先,让我问一下我的问题!!我在一个名为
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();