MvxBundle пуст во время перехода к новой ViewModel - PullRequest
0 голосов
/ 06 сентября 2018

Я перенес приложение из MvvmCross 5.x в MvvmCross 6.1.2, и теперь у меня проблема с пакетом ntransferring во время навигации.

IMvxNavigationService инициализируется и передается в VM через конструктор.

Теперь я пытаюсь передать MvxBundle на MainViewModel при следующем вызове

NavigationService.Navigate<MainViewModel>(new MvxBundle(new Dictionary<string, string>()
{
    {"key1","value1" },
    {"key2","value2" },
}));

В MainViewModel я переопределяю InitFromBundle

protected override void InitFromBundle(IMvxBundle parameters)
{
    base.InitFromBundle(parameters);
}

Но parameters пуст. parameters.Data не содержит мой Dictionary.

Я что-то не так делаю?

1 Ответ

0 голосов
/ 06 сентября 2018

Для навигации используйте

NavigationService.Navigate<ViewModel, Parameter type>(parapeter)

Параметр может быть любого типа ссылки. Например

await NavigationService.Navigate<MainViewModel, Dictionary<String, String>>(new Dictionary<String, String> {{"", ""}});

ViewModel, по которому вы перемещаетесь, должен наследовать MvxViewModel<MyObject> и переопределять Prepare метод

public class MainViewModel
{
    public override void Prepare(Dictionary<String, String> parameter)
    {

    }
}
...