将字符串参数传递给另一个布局MvvmCross

时间:2014-07-25 12:27:47

标签: c# xamarin xamarin.android mvvmcross

所以基本上我想将一个字符串参数发送到另一个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!

1 个答案:

答案 0 :(得分:4)

MvvmCross通过 name 匹配参数。在您的示例中,您应该调用:

ShowViewModel<SecondViewModel>(new { val = "hello" })

参见1.构造和2. Init()这里: https://github.com/MvvmCross/MvvmCross/wiki/View-Model-Lifecycle