簡體   English   中英

從 WPF 呼叫消息警報 在 PRISM 模塊化應用程序中查看 Model

[英]Call Message Alert from WPF View Model in PRISM Modular Application

我們是 Window 應用程序的新手,我們正在開發基於 WPF 的 window 應用程序。 我們使用 MVVM 架構模式和 PRISM 框架。 我們使用 Telerik 控件為應用程序制作了豐富的 UI。

我們在 PRISM 中開發了模塊化應用程序,如WPF-07 應用程序的 Prism 示例所示。 在此我們有一個主要應用程序將擁有引導程序 class 和所有子模塊的參考。

當用戶執行的某些操作完成時,我們想調用警報框。 我們想從許多不同頁面的 model 視圖中調用此警報框,其中一些存在於子模塊中,而少數存在於具有引導程序的主應用程序中。

我們希望設計可以跨應用程序使用的通用警報控件。

在之前下載的 WPF 的 PRISM 示例中,它具有從 ViewModel 調用的彈出窗口 windows 的代碼示例,如此堆棧溢出問題中所述。

但是這個功能在新的 Prism 版本中不再存在。 此外,Github 上對話服務的新功能不存在示例應用程序。

我們現在知道 'Interaction' 被DialogService取代,並且按照文檔我們在主應用程序中創建了自定義警報,但是我們如何在所有子模塊中使用這個警報呢?

我們如何設計可從所有模塊訪問的自定義公共警報? 請幫助我們實現這個通用功能。

如何從其他模塊調用它?

當服務(如DialogService )在容器中注冊時,如果這些服務是從容器中解析的,它將被注入到所有請求它作為依賴項的構造函數中。

這適用於public MyViewModel( IDialogService dialogService ) {... }無論MyViewModel的代碼位於何處,只要它被容器調用。 無論它位於何處,視圖 model 都必須鏈接到它的視圖(通過命名約定或顯式調用),才能由視圖 model 定位器找到(因此由框架“神奇地”創建)或者您必須自己解決它(例如,通過注入Func< MyViewModel>或手動編碼的工廠或 - 不要這樣做 - 通過注入容器或 - 也避免這種情況 - 通過調用new並自己提供依賴項)。

對於主應用程序中定義的視圖模型和模塊中定義的視圖模型,所有這些都以完全相同的方式工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM