2013-06-13 71 views
1

我有一個MainWindow,它包含一個菜單,該菜單打開不同的窗口。每個帶有列表的窗口都可以打開其他窗口來編輯數據。我需要以這些形式之一保存或刪除實體,觸發某個事件,並且所有其他屏幕都會收到該事件以刷新控件或DataGrid。例如:使用事件處理程序刷新所有DataGrid

我打開了三個窗口,一個是ProductList,這個窗口有一個產品的DataGrid,有兩列:Product Name和Category Name,第二個窗口是CategoryList,另一個窗口是CategoryEdit,這個窗口是一個窗體編輯一個類別。

當我在CategoryEdit中保存更改時,所有打開的窗口必須刷新數據網格才能獲取新數據。我想要的是,在窗口創建,爲每個窗口運行一個自定義方法的事件。所有的窗口都有一個Refresh方法,每次窗口發送一個事件時,我需要在每個打開的窗口中運行這個方法。

我希望我是清楚的,和對不起我的英語

回答

4

如果使用WPF,你需要這些步驟完成這項任務:

  • 創建產品或繼承自其他數據 INotifyPropertyChanged,並致電OnPropertyChanged方法。

  • 使用Binding爲您的數據傳遞到您的UI element

  • 它是好的,如果你改變了產品的一個屬性,你的財產將觸發通知一個屬性改變Like: OnPropertyChanged("Prive");,或使用OnPropertyChanged("")通知所有屬性改變了。