2017-10-11 8 views
0

私は2つのビューモデル:ListItemViewModelListViewModelを持っています。私の私は1つのアイテムを削除しようとすると、ListViewModelは、私はこのようなListItemViewModelDeleteCommandを結合しています、多くのListItemViewModelオブジェクトが含まれています。問題は、私は別のハンドラを呼び出すことができますどのように... DeleteCommandHandlerListViewModelであるということである他のviewModelからのXamarin MvvmCrossコールコマンドハンドラ

public IMvxCommand DeleteCommand => new MvxCommand(DeleteCommandHandler); 

ビューモデル?

UPDATE 1

は、私はこれが必要なぜ質問を手に入れました。私の質問の理由は、ハンドラでは依存関係注入を必要とするAPIコールを行う必要がありますが、私のListItemViewModelにはautomapperのためにデフォルトの空のコンストラクタが必要なため、すべてのビジネスロジックを "親ビューモデル" is ListViewModel

答えて

0

さまざまなビューモデルを通信するためにメッセージングサービスを使用してみてください。あなたのケースでは、DeleteCommandHandlerListItemViewModelでトリガーし、その後、削除されたアイテムの詳細を送信するListViewModelにメッセージを渡します。

は、メッセージングの実装方法のリンクの下に参照してください - https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/messaging-center/

+0

あなたがListViewModelであなたのハンドラを持つことができないのはなぜメッセージング:) –

+0

せずに私の問題を解決するためにいいだろうか? –

+0

私のハンドラが 'ListViewModel'にあります –

関連する問題