小编Sta*_*ack的帖子

MVVMCROSS-将参数传递给ViewModel

我试图将参数传递给子ViewModel构造函数,该构造函数将引发“ MvvmCross.Platform.Exceptions.MvxException:无法构造和初始化ViewModel ... MvxIoCResolveException:无法解析MyType类型的参数myParam的参数...”

MyChildViewModel.cs

public class MyChildViewModel : MvxViewModel
{
    private MyType _myParam;
    public MyType MyParam
    {
        get { return _myParam; }
        set
        {
            if (SetProperty(ref _myParam, value))
            {
                RaisePropertyChanged(() => MyParam);
            }
        }
    }

    public MyChildViewModel(MyType myParam)
    {
        _myParam = myParam;
    }

}
Run Code Online (Sandbox Code Playgroud)

在我的父ViewModel中,我有:

public ICommand ShowDialogCommand { get; private set; }
ShowDialogCommand = new MvxCommand<MyType>(e => ShowViewModel<MyChildViewModel>(e));
Run Code Online (Sandbox Code Playgroud)

家长活动电话:

ViewModel.ShowDialogCommand.Execute(VarOfMyType);
Run Code Online (Sandbox Code Playgroud)

我显然做错了。这是将数据传递给子ViewModel的远程接受方法吗?最佳做法是什么?

预先感谢您的宝贵时间。

c# mvvmcross xamarin

1
推荐指数
1
解决办法
2877
查看次数

标签 统计

c# ×1

mvvmcross ×1

xamarin ×1