2

私は Caliburn.Micro の Coroutine/IResult 実装が大好きで、ビューで実行されるいくつかのアクションを制御する MVVM ロジックを持つことができます。

ただし、イベントアグリゲーターからのメッセージを処理するときに同じアプローチを使用する必要性に直面しています。私のビューモデルは IResult を実装しています。これにより、次のメソッドが生成されます。

public void Handle(T message) { ... }

IResult または IEnumerable を返すようにメソッドを変更しようとしましたが、もちろん、インターフェイスに従っていないため、コンパイルできません..

現在、必要な IResults のリストを作成してから呼び出すアプローチを使用しています

Caliburn.Micro.Coroutine.BeginExecute(routines.GetEnumerator())

しかし、私はその解決策が好きではなく、実行が実行されているスレッドがわかりません。また、ルーチンにコンテキストはありませんが、メッセージはどこからでも来る可能性があるため、コンテキストが難しい可能性があることは理解しています. ただし、ビューモデルがViewAwareの場合、コンテキストを取得できますか?

Handle 実装のコンテキストで他の人は何をしましたか? 経験はありますか?

いくつかのクールなソリューションを期待しています!

4

1 に答える 1

1

1 つのオプションは、コルーチンを理解する Caliburn.Micro に基づいて独自の EA を作成することです。これをそのまま追加することを考えましたが、まだ手をつけていません。

于 2012-05-15T17:23:42.277 に答える