2017-10-11 105 views
0

我有兩種視圖模型:ListItemViewModelListViewModel。我ListViewModel包含許多ListItemViewModel對象,當我試圖刪除一個項目,我在ListItemViewModel結合DeleteCommand這樣的:Xamarin Mvvm從另一個視圖的呼叫命令處理程序模型

public IMvxCommand DeleteCommand => new MvxCommand(DeleteCommandHandler); 

的問題是,DeleteCommandHandlerListViewModel ......我怎麼能呼叫處理器從另一個查看模型?

更新1

得到了,爲什麼我需要這個問題。我的問題的原因是,在處理程序中,我將需要進行需要依賴注入的API調用,但由於automapper,我的ListItemViewModel必須具有默認的空構造函數,所以我要將所有業務邏輯移動到「父視圖模型」中是ListViewModel

回答

0

嘗試使用消息傳遞服務來傳輸不同的視圖模型。在你的情況下,DeleteCommandHandler將在ListItemViewModel中觸發,然後將消息傳遞給ListViewModel發送刪除項目的詳細信息。

請參考下面的鏈接如何實現消息 - https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/messaging-center/

+0

這將是很好解決我的問題沒有消息:) –

+0

爲什麼你不能在你的ListViewModel處理程序? –

+0

我的處理程序在'ListViewModel'中 –