3

StockModule と PurchaseModule があります。新しい購入品を受け取ると、それをデータベースの Stock Model に追加します。

私の問題は、StockModule の ViewModel に ObservableCollection stockList があり、在庫を追加するコントローラーが PurchaseModule にあることです。StockModule の ViewVodel に、stockList を既に更新したことをどのように伝えたらよいかわかりません。

私はユニティでwpfとプリズムでデータバインディングを使用しています。モジュール内でビューを更新するのは簡単ですが、2 つのモジュール間でそれを行う方法が見つかりませんでした。

PurchaseModule を初期化するときに、StockController への参照を渡す必要がありますか? それはあまりにも密接に結びついているように見えるので、私はそれをしたくありません。

4

1 に答える 1

3

MediatorMarlon のやPrismのようなものを使用してEventAggregator、ViewModel またはコンポーネント間の通信を実現する必要があります (それらは単一のモジュール内にある場合も、複数のモジュールにまたがっている場合もあります)。

あなたの場合、ViewModel はMediator/EventAggregator を介しPurchaseModuleてメッセージ (たとえば ) を発行し、 ViewModelはこのメッセージをリッスンしてそのデータを更新し、ビューも有効にします。StockAddedStockModule

メディエーターの詳細: http://marlongrech.wordpress.com/2009/04/16/mediator-v2-for-mvvm-wpf-and-silverlight-applications/

Prism EventAggregator: http://msdn.microsoft.com/en-us/library/ff921122.aspx

于 2013-10-27T14:12:40.430 に答える