如何在WPF中刷新窗口?

12
我正在做一个小项目,它是一个带有4个WPF选项卡的窗口。
第一个选项卡是我大部分工作的地方,但偶尔需要返回到其他选项卡。其中一个选项卡有一个DataGrid,它绑定到一个列表,该列表受我停留在主选项卡上影响。
当我在第一个选项卡上更新某些内容时,我需要它刷新Datagrid中的数据(通常只需更新一个值)。
唯一有效的方法是如果我自己单击标头。
如何在代码中实现这一点呢?
谢谢
5个回答

8

这个列表是一个ObservableCollection还是实现了INotifyPropertyChanged接口的属性?

你试过了吗:

myDatagrid.Items.Refresh();

4
也许:
this.NavigationService.Refresh();

或者
this.NavigationService.Navigate(new Uri("<EnterPage name here.xaml", UriKind.Relative));

1
新访客须知:此内容不适用于常规窗口控件,主要涉及页面、框架和导航窗口。请在MSDN上了解其工作原理。http://msdn.microsoft.com/en-us/library/ms750478(v=vs.110).aspx - Sai

3

我使用了这个解决方法,虽然不完美但有效。

MainWindow newWindow = new MainWindow();
Application.Current.MainWindow = newWindow;
newWindow.Show();
this.Close();

1

1
如果你正在处理一个具有共享属性的对象,并且希望在显示时实现自动刷新数据表格,你可以实现INotifyPropertyChanged接口。如果这是一个集合,你可以考虑使用ObservableCollection类。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接