У меня есть 1 стек, содержащий селектор шаблонов данных. Я использую для этого BindableLayout. Теперь каждое дочернее представление внутри stacklayout имеет отдельную модель представления. Из этой ViewModel я хочу перейти к другому экрану.
У меня есть следующий код в моем селекторе шаблонов данных
var pageViewModel = (SomeViewModel)container.BindingContext;
if (view == Type.A)
{
widgetView = new AView();
widgetViewModel = pageViewModel.ServiceProvider.GetService<AViewModel>();
}
else
{
widgetView = new BView();
widgetViewModel = pageViewModel.ServiceProvider.GetService<BViewModel>();
}
widgetView.ViewModel = widgetViewModel;
var navigationParams = new NavigationParameters
{
{ Item, item }
};
widgetViewModel.LoadData(navigationParams);
return new DataTemplate(() => widgetView);
Из CustomView ViewModel я пытаюсь сделать
await NavigationService.NavigateAsync("PageC");
Я получаю объект NavigationService, но приложение не осуществляет переход к странице C Если я вызываю ту же строку в PageViewModel, то приложение перенаправляется на Page C