アプリケーションに2つのViewModelとスクリーンコンダクターがあるとします。画面からスクリーンへのデータの受け渡し
public class ShellViewModel : Conductor<IScreen>, IShell
{
public ShellViewModel()
{
ShowConnectionScreen();
}
public void ShowConnectionScreen()
{
ActivateItem(new ConnectionViewModel());
}
public void ShowSetupScreen()
{
ActivateItem(new SetupViewModel());
}
}
最初のViewModelは、起動時に表示され、いくつかのセットアップ情報とどこかへの接続を初期化Connect
ボタンが含まれています。
接続が正常に確立されたら、最初のViewModelを終了し、2番目のViewModelに接続に関する情報を表示します。それが失敗した場合、最初のViewModelは単にそれを表示し、ユーザーが再び接続を試みることを許可する必要があります。
したがって、実際の接続オブジェクトを最初のViewModelから2番目のViewModelおよびScreen Conductorに渡すと、成功したビューモデルが変更される必要があります。
これをCaliburn.Microでどのように実現できますか?
これは最初のビューモデルを移入することを
にconnection
対象となり、明らかに問題
をこのタイプを作成し、3クラスのオブジェクト間の一般的なタイプを使用します。mvermefさんのコメント@説明するために
明らかに問題のこのタイプを作成し、いずれかのコンストラクタで渡したり、財産作り、3クラスのオブジェクト間の一般的なタイプを使用3つのクラスすべての...?また、EventAggregatorを使用して、他のViewModelが受け入れて処理または無視するイベントをパブリッシュできます。 – mvermef