Xamarin Mvvm从另一个视图的呼叫命令处理程序模型
问题描述:
我有两种视图模型:ListItemViewModel
和ListViewModel
。我ListViewModel
包含许多ListItemViewModel
对象,当我试图删除一个项目,我在ListItemViewModel
结合DeleteCommand
这样的:Xamarin Mvvm从另一个视图的呼叫命令处理程序模型
public IMvxCommand DeleteCommand => new MvxCommand(DeleteCommandHandler);
的问题是,DeleteCommandHandler
是ListViewModel
......我怎么能呼叫处理器从另一个查看模型?
更新1
得到了,为什么我需要这个问题。我的问题的原因是,在处理程序中,我将需要进行需要依赖注入的API调用,但由于automapper,我的ListItemViewModel
必须具有默认的空构造函数,所以我要将所有业务逻辑移动到“父视图模型”中是ListViewModel
答
尝试使用消息传递服务来传输不同的视图模型。在你的情况下,DeleteCommandHandler
将在ListItemViewModel
中触发,然后将消息传递给ListViewModel
发送删除项目的详细信息。
请参考下面的链接如何实现消息 - https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/messaging-center/
这将是很好解决我的问题没有消息:) –
为什么你不能在你的ListViewModel处理程序? –
我的处理程序在'ListViewModel'中 –