2017-01-30 26 views
0

我有一個問題...我有MvxGridView與菜單項目,並與項目單擊ShowMenuCommandMvxGridView結合項目單擊和列表爲空在視圖模型初始化

像這樣:

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菜單具有的菜單項列表,但是當我在方法Init調試和斷點MenuCardViewModel:

public void Init(Menu menu) 
     { 
      // HERE.. 
     } 

因此,這裏菜單有一切,但的MenuItems列表爲空。我不知道爲什麼......一些提示爲什麼一切都在這裏,但列表爲空?

回答

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) 
{ 

} 

如果這不起作用,我建議在深入爲什麼你列表不可序列化/反序列化。