我正在研究將PRISM 6.2用於與Visual Studio具有相似UI的應用程序。它也將與多個文檔界面對接。我目前有一個工具欄區域和一個停靠區域。我設法使用自定義區域適配器進行一些對接工作。PRISM中的全局變量概念
我現在面臨的設計問題是如何全局共享一個對象。
我的具體情況是用戶可以從文件菜單打開'解決方案'。那麼'解決方案'需要在'解決方案資源管理器'虛擬機中,'類視圖'虛擬機中......我可以在我開始考慮打開一個新的'解決方案'時開始考慮它,然後全部應該用新解決方案更新視圖。關閉和重新創建似乎是一個糟糕的解決方案。
我想在ShellVM中有一個打開的命令,它修改停靠區域的regioncontext中的解決方案屬性。然後,每個工具項目都可以監視該屬性上的notifypropertychanged更新。或者,如果尚未打開,請在創建時使用該屬性。
但我不確定這個設置。這聽起來有點像一些「神物」。
另一種方法,我發現在這裏:https://stackoverflow.com/a/40258147/4169986
有數據的單一來源,將其提供給您的所有視圖模型作爲一種服務。
但是我並沒有把握如何在打開一個新的「解決方案」時將它與INotifyPropertyChanged結合起來。
PRISM如何做到這一點?
非常感謝提前!
您可以使用共享的單身服務,您注入您的視圖模型:https://social.msdn.microsoft.com/Forums/en-US/22907a0f-d805- ?論壇= WPF 4195-8272-7c284b72d2ee /使用共享服務棱鏡示例-的- – mm8