我試圖將一個參數傳遞給引發「MvvmCross.Platform.Exceptions.MvxException:無法構造和初始化ViewModel的子ViewModel構造函數... MvxIoCResolveException:無法解析參數類型MyType的參數myParam ......」MVVMCROSS - 將參數傳遞給ViewModel
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;
}
}
在我父母的ViewModel我有:
public ICommand ShowDialogCommand { get; private set; }
ShowDialogCommand = new MvxCommand<MyType>(e => ShowViewModel<MyChildViewModel>(e));
父活動電話:
ViewModel.ShowDialogCommand.Execute(VarOfMyType);
我明明做錯了什麼。這是甚至可以將數據傳遞給子ViewModel的遠程可接受的方法嗎?最佳做法是什麼?
預先感謝您寶貴的時間。
感謝@ Martijn00提供快速回復。你是最棒的,我愛mvvmcross!我確實在v5.0.5上。您的IMvxNavigationService示例是否按原樣工作5.0?我應該注意到5.0和5.2之間有什麼區別? – Stack
區別在於'void Prepare(MyObject parameter)'的覆蓋。在5.0這是'任務初始化(MyObject參數)',但我們改變了。 – Martijn00
工作就像一個魅力。非常感謝你!兒童NextViewModel v5.0:'公共覆蓋任務初始化(MyObject參數)'和'返回Task.FromResult(false);'父ViewModel - 使用'MvxAsyncCommand':'SomeMethodCommand = new MvxAsyncCommand(SomeMethod);' – Stack