爲了簡便起見,我想實現C#/ XAML/WinRT的以下結構:全局狀態對象/ WinRT的
Global App State -> Bindings -> Pages/User Controls etc -|
^ |
|------------- update -----------------------------|
所以基本上,FP /無功時尚。頁面和用戶界面綁定到全局狀態對象的屬性,並且每當視圖想要更新某些內容時,它就會直接更改全局應用程序狀態(或通過視圖模型類,無論如何),立即更新應用程序的所有其他依賴部分(通過綁定)。
我知道關於DependencyProperties
和INotifyPropertyChanged
,所以綁定到屬性應該不成問題。
但是,理想情況下,即使我完全替換全局狀態對象,我也希望發生這種情況。比方說,它是一個多用戶的應用程序,那麼我想切換用戶是這樣的:
App.State = LoadStateForUser(...);
,並綁定到全局狀態更新用戶界面的一部分。現在我必須自己設置每個不同的屬性。這可能以某種方式嗎?
請注意,我不會問關於MVC或MVVM或任何其他設計模式的建議。