我有问题...我有MvxGridView菜单项和ItemClick ShowMenuCommand
像这样:
private ICommand _showMenuCommand;
public ICommand ShowMenuCommand
{
get
{
_showMenuCommand = _showMenuCommand ?? new MvxCommand<Menu>(DoShowMenuCommand);
return _showMenuCommand;
}
}
private void DoShowMenuCommand(Menu menu)
{
ShowViewModel<MenuCardViewModel>(menu);
}
菜单包含一些属性,如标题,名称,图像等。但也包含List menuItems。当我在DoShowMenuCommand菜单中调试和断点时,菜单中有menuItems列表,但是当我在方法Init中的MenuCardViewModel中调试和断点时:
public void Init(Menu menu)
{
// HERE..
}
所以这里菜单有一切,但MenuItems列表为空。我不知道为什么...一些提示,为什么一切都在这里,但列表是空的?
答案 0 :(得分:0)
MvvmCross将复杂的DTO序列化为JSON。我不确定你是如何实现这个,但你可以这样试试,看看是否有帮助:
private void DoShowMenuCommand(Menu menu)
{
ShowViewModel<MenuCardViewModel,Menu>(menu);
}
所以第二个泛型是你想传递的模型。下一步是将菜单泛型添加到“MenuCardViewModel”
public class MenuCardViewModel : MvxViewModel<Menu>
这需要实现init方法:
protected override Task Init(Menu menu)
{
}
如果这不起作用,我建议深入了解为什么您的列表不可序列化/可反序列化。