Не могу реализовать навигацию в Xamarin.Forms - PullRequest
0 голосов
/ 04 сентября 2018

Я пишу заявку на Xamarin.Forms. Существует основная форма, и от нее можно перейти к другим представлениям. Проблема в том, что я не мог пользоваться страницей навигации. Как это можно реализовать? ViewModel У меня как библиотека есть. Я бросил на него команды, используя MvvmLightLibs. Вся информация, которую я видел, дает пример использования INavigation, но она не видна в ViewModel

enter image description here

1 Ответ

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

Вы должны будете реализовать NavigationService самостоятельно, в MvvmLight для Xamarin.Forms нет ни одного доступного из коробки. Однако реализовать такой сервис довольно просто, достаточно нескольких методов. Я предлагаю вам проверить этот пост , в котором есть пошаговое руководство по созданию простого приложения Xamarin.Forms + MvvmLight.

Ключ в том, чтобы создать интерфейс типа INavigationService, который будет иметь методы типа NavigateTo и GoBack. Затем вы создаете класс, который реализует этот интерфейс и использует корень NavigationPage для навигации по приложению. При запуске вы создаете экземпляр NavigationService и передаете экземпляр NavigationPage, с которым он будет работать.

Если вы зарегистрируете экземпляр с помощью SimpleIoc, вы можете использовать инжекцию конструктора - в вашей модели представления вы добавите параметр INavigationService в конструктор, и каркас передаст зарегистрированный вами экземпляр.

Все это продемонстрировано в приведенном выше посте, так что это хорошая отправная точка.

Другим хорошим источником для изучения является этот эпизод Xamarin Show , в котором Лоран Бюньон, сам создатель MvvmLight, показывает, как использовать фреймворк с Xamarin.Forms.

...