所以基本上我想将一个字符串参数发送到另一个ViewModel,但我一直得到空值。
我的FirstViewModel有此命令用字符串参数
调用其他布局 public ICommand ReportCommand
{
get { return new MvxCommand(() => ShowViewModel<SecondViewModel>(new { param = "hello" })); }
}
我的第二个ViewModel
public void Init(string val)
{
string a = val;
}
但我总是得到&#34; val&#34;
的空值为什么会发生这种情况?
我还有一个应用程序输出
mvx:Diagnostic: 62.54 Missing parameter for call to OverviewViewModel - missing parameter reportName - asssuming null - this may fail for value types!
mvx:Diagnostic: 62.54 Missing parameter for call to OverviewViewModel - missing parameter reportName - asssuming null - this may fail for value types!
答案 0 :(得分:4)
MvvmCross通过 name 匹配参数。在您的示例中,您应该调用:
ShowViewModel<SecondViewModel>(new { val = "hello" })
参见1.构造和2. Init()这里: https://github.com/MvvmCross/MvvmCross/wiki/View-Model-Lifecycle