"MvvmCross.Platform.Exceptions.MvxExceptionをスローする子ViewModelコンストラクタにパラメータを渡そうとしています。ViewModelを構築して初期化できませんでした... MvxIoCResolveException:パラメータの解決に失敗しました型がMyTypeのパラメータMYPARAM ...」私はViewModelに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;
}
}
:
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.2の違いは何ですか? – Stack
違いは 'void Prepare(MyObject parameter)'のオーバーライドです。 5.0ではこれは 'Task Initialize(MyObject parameter)'ですが、これを変更しました。 – Martijn00
チャームのように働いた。どうもありがとうございました! (親)ViewModel - 'MvxAsyncCommand'を使用します:' SomeMethodCommand =新しいMvxAsyncCommand(SomeMethod); '親のViewModelを使用します。 – Stack