I'm migrated app from MvvmCross 5.x to MvvmCross 6.1.2 and now I have problem with ntransferring bundle during navigation.
IMvxNavigationService
is initialised and passed to VM thru constructor.
Now I try to pass a MvxBundle to the MainViewModel
with next call
NavigationService.Navigate<MainViewModel>(new MvxBundle(new Dictionary<string, string>()
{
{"key1","value1" },
{"key2","value2" },
}));
In the MainViewModel
I override InitFromBundle
protected override void InitFromBundle(IMvxBundle parameters)
{
base.InitFromBundle(parameters);
}
But parameters
is empty. parameters.Data
doesn't contains my Dictionary
.
Am I doing something wrong?
For navigation use
NavigationService.Navigate<ViewModel, Parameter type>(parapeter)
Parameter can be any reference type. For example
await NavigationService.Navigate<MainViewModel, Dictionary<String, String>>(new Dictionary<String, String> {{"", ""}});
ViewModel on which you are navigating must inherit MvxViewModel<MyObject>
and override Prepare
method
public class MainViewModel
{
public override void Prepare(Dictionary<String, String> parameter)
{
}
}