2017-10-11 111 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'中 –