【发布时间】:2011-06-22 10:31:05
【问题描述】:
我正在处理一个小项目,它是一个带有 4 个 WPF 选项卡的窗口。
第一个标签是我完成大部分工作的地方,但有时我需要回到其他标签。其中一个选项卡有一个 DataGrid,它绑定到一个受我停留的主选项卡影响的列表。
当我在第一个选项卡上更新某些内容时,我需要它来刷新 Datagrid 中的数据(通常只是为了更新一个值)。
它一直起作用的唯一方法是我自己点击标题。
如何在代码中做到这一点?
谢谢
【问题讨论】:
我正在处理一个小项目,它是一个带有 4 个 WPF 选项卡的窗口。
第一个标签是我完成大部分工作的地方,但有时我需要回到其他标签。其中一个选项卡有一个 DataGrid,它绑定到一个受我停留的主选项卡影响的列表。
当我在第一个选项卡上更新某些内容时,我需要它来刷新 Datagrid 中的数据(通常只是为了更新一个值)。
它一直起作用的唯一方法是我自己点击标题。
如何在代码中做到这一点?
谢谢
【问题讨论】:
列表是ObservableCollection 还是实现INotifyPropertyChanged 的属性?
你试过了吗:
myDatagrid.Items.Refresh();
【讨论】:
也许:
this.NavigationService.Refresh();
或
this.NavigationService.Navigate(new Uri("<EnterPage name here.xaml", UriKind.Relative));
【讨论】:
我使用了这个解决方法,它并不完美,但可以工作
MainWindow newWindow = new MainWindow();
Application.Current.MainWindow = newWindow;
newWindow.Show();
this.Close();
【讨论】:
如果您正在处理要显示共享属性的对象,您可以实现INotifyPropertyChanged 接口并刷新DataGrid。如果它是一个集合,您可以查看 ObservableCollection 类。
【讨论】: