我有两种视图模型:ListItemViewModel
和ListViewModel
。我的ListViewModel
包含许多ListItemViewModel
个对象,当我尝试删除一个项目时,我在DeleteCommand
中绑定ListItemViewModel
,如下所示:
public IMvxCommand DeleteCommand => new MvxCommand(DeleteCommandHandler);
问题是DeleteCommandHandler
在ListViewModel
中...如何从另一个视图模型中调用处理程序?
更新1
得到了问题为什么我需要这个。我的问题的原因是在处理程序中我将需要进行一个需要依赖注入的API调用,但由于automapper,我的ListItemViewModel
必须有默认的空构造函数,所以我想要移动到的所有业务逻辑&# 34;父视图模型"这是ListViewModel
答案 0 :(得分:0)
尝试使用消息传递服务与不同的视图模型进行通信。在您的情况下,DeleteCommandHandler
会在ListItemViewModel
中触发,然后会向ListViewModel
发送一条消息,发送已删除项目的详细信息。
请参阅以下有关如何实施消息传递的链接 - https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/messaging-center/