在WPF中有雙向數據綁定的概念,在db中更新對象屬性值時,框架在實現接口時也會更新視圖。如何實現屬性更改通知,而不進行明確的調用?
我正在尋找類似於C#中的此功能,但不使用WPF。
這種情況是,當一個對象屬性被更新時,一系列的通知被髮送到這個對象的其他使用者,通知他們屬性的變化。
所以流程是:
- 更新數據庫
- 通知消費者1
- 通知消費者2
這個過程需要三個獨立的線。有沒有一種方法來實現WPF的屬性更改概念,以更新誰是消費者(比如說,事件驅動)而無需明確通知消費者?
在WPF中有雙向數據綁定的概念,在db中更新對象屬性值時,框架在實現接口時也會更新視圖。如何實現屬性更改通知,而不進行明確的調用?
我正在尋找類似於C#中的此功能,但不使用WPF。
這種情況是,當一個對象屬性被更新時,一系列的通知被髮送到這個對象的其他使用者,通知他們屬性的變化。
所以流程是:
這個過程需要三個獨立的線。有沒有一種方法來實現WPF的屬性更改概念,以更新誰是消費者(比如說,事件驅動)而無需明確通知消費者?
實施INotifyPropertyChanged
時,只要您想讓消費者知道該房產已更改,您只需舉辦活動即可。無論有多少消費者正在傾聽該事件,您只會打一個電話來舉報該事件。
如果你想達到什麼是減少樣板代碼,即有每二傳手只有一行代碼,你可以看看this simple solution,這can be made even nicer with C# 5。
只是爲了澄清,您的建議是針對非WPF /非Silverlight客戶端的,對嗎? – ElHaix
無論如何,這適用於任何C#類。確實,WPF,Silverlight和WinForms使用此接口來了解何時更新UI,這是人們通常實現此接口的主要原因,但您也可以將其實現爲僅供您自己使用。 –
取決於你在做什麼,你究竟想要製作一個win-forms應用程序,一個ASP.NET webforms或MVC應用程序,還是什麼?每個人都有不同的方式來處理這樣的事情,這就是爲什麼我問。 – Nomad101
@ Nomad101 - 是的...底層架構是MVC。 – ElHaix