使用事件处理程序刷新所有DataGrids

时间:2013-06-13 05:27:48

标签: c# wpf event-handling

我有一个MainWindow,它包含一个菜单,该菜单打开不同的窗口。每个带有列表的窗口都可以打开其他窗口来编辑数据。我需要保存在这些表单之一或删除实体,触发一些事件,所有其他屏幕接收事件刷新控件或DataGrids。例如:

我打开了三个窗口,一个是ProductList,这个窗口有一个DataGrid,Products有两列:Product Name和Category Name,第二个窗口是CategoryList,另一个窗口是CategoryEdit,这个窗口是一个编辑一个窗口的窗口分类

当我保存CategoryEdit中的更改时,所有打开的窗口都必须刷新数据网格以获取新数据。我想要的是,在窗口创建时,将事件设置为在每个窗口中运行自定义方法。所有窗口都有一个Refresh方法,每次任何窗口调度一个事件时,我都需要运行每个打开窗口的这个方法。

我希望我很清楚,对不起我的英语

1 个答案:

答案 0 :(得分:4)

如果您使用WPF,则需要执行以下步骤来完成此任务:

  • 创建产品或从中继承的其他数据 INotifyPropertyChanged,并致电OnPropertyChanged方法。

  • 使用Binding将您的数据传递到UI element

  • 没关系,如果您更改了产品的一个属性,您的属性将触发通知一个已更改的属性Like: OnPropertyChanged("Prive");,或使用OnPropertyChanged("")通知所有属性发生了变化。