Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.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# 在WPF中重新加载或重置主窗口_C#_Wpf_Windows_Datagrid - Fatal编程技术网

C# 在WPF中重新加载或重置主窗口

C# 在WPF中重新加载或重置主窗口,c#,wpf,windows,datagrid,C#,Wpf,Windows,Datagrid,我有一个主窗口,它有一个datagrid和导入数据的链接。 当用户单击链接时,它应该浏览并让用户选择要导入的文件。 并打开另一个窗口,显示数据成功导入数据库 现在我想在主窗口中显示datagrid中的数据。 所以基本上我想重置主窗口,以便它可以在WPF中显示导入的数据 我尝试调用一个主窗口的内部函数来关闭、初始化数据并将其绑定到数据网格。但它看起来不起作用 有什么简单的方法可以做到这一点吗?根据您为datagrid设置数据绑定的方式,您只需在相应的绑定源上调用ResetBindings即可 假设

我有一个主窗口,它有一个datagrid和导入数据的链接。 当用户单击链接时,它应该浏览并让用户选择要导入的文件。 并打开另一个窗口,显示数据成功导入数据库

现在我想在主窗口中显示datagrid中的数据。 所以基本上我想重置主窗口,以便它可以在WPF中显示导入的数据

我尝试调用一个主窗口的内部函数来关闭、初始化数据并将其绑定到数据网格。但它看起来不起作用


有什么简单的方法可以做到这一点吗?

根据您为datagrid设置数据绑定的方式,您只需在相应的绑定源上调用ResetBindings即可

假设您在主窗口上有一个bindingsource b,并且您的datagrid或任何控件都绑定到该bindingsource。b的datasource属性设置为包含数据的某个集合。如果要刷新绑定到b的所有控件,只需在b上调用ResetBindings


您还可以使用实现IBindingList的集合,如果添加了项,该集合将通知bindingsource等。

只需使用数据绑定并更新源代码即可。是否使用实现INotifyPropertyChanged的可序列化类?必须实现INotify才能使用数据绑定


同时查看导航窗口和页面。它使单窗口应用程序变得容易。

实际上,有没有办法用集合更新数据网格,或者刷新集合已更改的情况?我想我是在考虑INotifyCollectionChanged。