WPFとPRISMを使用してWPFアプリケーションを作成しようとしています。私はMEFとmvvmも使用しています。イベントaggregastorを使用して互いに通信できる2つのビューモデルを持つことは可能ですか?例えば。ビューモデルAでパブリッシュし、ビューモデルBでサブスクライブしますか?そしてもしそうなら、どのように?私は複数のビューモデルを持つプログラムをビルドしており、これらのビューモデルのいくつかはお互いに通信する必要がありますが、イベントモデルを使用してViewModel Aで公開すると、ビューモデルBを購読することは決して同じイベントアグリゲータにはビューモデルBに接続されたビューを更新します。wpfのEventaggregatorを使用して、viewmodelからviewmodelへのPRISM MEF通信
0
A
答えて
0
唯一の可能性は、ViewModel "B"がロードされていないか、まだイベントに登録されていないことです。これが真実でない場合は、スニペットを貼り付けることをお勧めします。
0
WeakReference(弱いサブスクリプション)を使用して購読していますか?その場合、あなたのサブスクライバは他の場所で参照されていないため、イベントを公開する前にガベージコレクションが消滅している可能性があります。
1
このイベントアグリゲータ
を定義するための基本的な重要なステップは、(1)イベントAGG作成さ..
パブリッククラスYourEvent:CompositePresentationEvent {
}
(2)出版vm
eventAggregator.Get()。Publish(object);
(3)サブスクリプションVmを
YourEvent eventobj = eventAggregator.Get()。
if (subscriptionToken != null)
{
eventobj.Unsubscribe(subscriptionToken);
}
subscriptionToken = eventobj.Subscribe(YourEventHandler, ThreadOption.UIThread, false, yourfun);
0
EventAggregatorは常に同じです。各ViewModelを渡す必要があります。 プリズムとMEFあなたのためにこれを行うことができます。
あなたはMEF
0
でEventAggregatorの参照を注入することができますPRISM
のユニティを使用してコンストラクタでEventAggregatorをロードすることができますViewModel "B"とViewModel "A"の両方のインスタンスを持っていますか?サブスクリプションコードが実行される前にイベントを公開していますか?彼らはどちらも同じイベントにパブリッシュ/サブスクライブしていますか?
EventAggregator.GetEvent(Of MyEventType).Subscribe(Sub()
End Sub)
関連する問題
- 1. WPFでの親子ViewModel通信 - Prism MVVM
- 2. PRISM WPF MVVM:注入ビューのviewmodelプロパティへの領域コンテンツのバインド
- 3. ViewからViewModelへのWPFイベントバインディング?
- 4. WPF MVVM Light MessengerとPrism EventAggregator
- 5. WPFでPrism 6を使用してViewModelでキープレスイベントを処理する方法は?
- 6. MVVMを使用したWPFのViewModelからのコマンドのトリガー
- 7. Xamarin Prism MasterDetailPage.IsPresented from child ViewModel
- 8. WPF Usercontrol MVVMを使用したデータバインディングViewModel
- 9. UnityContentからUserControl ViewModelからCustomUsercontrolへの注入Viewmodel
- 10. WPF/C#のModelからViewModelへイベントを渡す方法は?
- 11. WPF usercontrolコマンドのウィンドウへのバインディングviewmodel
- 12. ReactUI for Xamarinは、ViewModelからViewModelへのナビゲーションをサポートしていますか?
- 13. ViewModelがビューインジェクション(WPF PRISM 4 MVVM)で初期化されていません
- 14. WPF MVVMビューのリダイレクトをViewModelから
- 15. PRISM(ViewModelに):コマンドを確認し
- 16. 親ViewModelは子を通信します
- 17. WPF&MVVM:テキストボックスから値を取得し、ViewModelに送信
- 18. WPF Prism InteractionRequestTrigger:表示時にViewおよびViewModelを再作成
- 19. WPFファイルリストからカスタムオブジェクトへの変換 - モデルまたはViewModel?
- 20. ViewModelのボタンからオブジェクトへのオブジェクトのバインドWPF
- 21. MVVM複数のビューPrismの同じViewModel
- 22. Prismのviewmodel内の依存プロパティー
- 23. WPFのModel-View-ViewModel
- 24. Prism 6.2 ViewModelではないモデルへのバインド
- 25. "グローバル" WPF ViewModelプロパティ
- 26. PRISMに工場<ViewModel>の例?
- 27. プリズム/ MEFのViewModel:プロとViewModelには、プロパティを使用してMEFによって注入されたStockTraderRIのサンプルコードでCTOR
- 28. WPF MVVMの子ViewModelから親ViewModelのロジックを呼び出す方法
- 29. は、MEFで表示するのviewmodelを注入 - 動作していないソースからのバインディング - WPF
- 30. 別のViewModelからViewModelにアクセスする