#c# #xamarin #xamarin.forms #freshmvvm
#c# #xamarin #xamarin.forms #freshmvvm
Вопрос:
Используя
- FreshMvvm
- Xamarin Forms 4.4 на iOS и Android
Есть много вопросов о том, как очистить модальный стек в формах Xamarin, и из тех, которые у меня есть:
var numModals = Application.Current.MainPage.Navigation.ModalStack.Count;
// To prevent the page from being temporarily visible as each Modal above it is Popped, set the Opacity to 0
for (int currModal = 0; currModal < numModals; currModal )
{
NavigationPage navigationPage = Application.Current.MainPage.Navigation.ModalStack[(numModals - currModal) - 1] as NavigationPage;
navigationPage.Opacity = 0;
}
for (int currModal = 0; currModal < numModals; currModal )
{
await this.CoreMethods.PopPageModel(null, true, false);
}
Хотя это работает, это добавляет зависимость от Application.Current
моей ViewModel. Поскольку мы используем FreshMvvm, я ищу подход, который лучше работает с этим и удаляет мое приложение.Текущий код.
Пользовательские службы навигации с помощью IFreshNavigationService — единственное, что бросается в глаза, однако примеры, которые я вижу для них, либо
- Навигация по странице входа и граница навигации по главной странице
- Представление с вкладками
Примером потока страниц, который у меня есть, является
- Домашняя страница (немодальная)
- ValueHistoryPage (немодальный)
- ConfigureValueDevicePage (модальный)
- Выберите Valuedevicemodelpage (модальный)
- ConnectValueDevicePage (модальный)
На этом этапе пользователь может решить, что он настроил свое ValueDevice, но пока не хочет его использовать, поэтому вернитесь к ValueHistoryPage, что будет означать закрытие всех модальностей, так что ValueHistoryPage теперь будет самой верхней, или запустить новый набор навигации, который переходит к CaptureFromValueDevicePage (модальный) И закрывает предыдущий набор из трех модальностей (ConfigureValueDevicePage, Выберите Valuedevicemodelpage и подключите Valuedevicepage )
Будет ли первый набор модальностей находиться в одном пользовательском IFreshNavigationService и, возможно, будет ли CaptureFromValueDevicePage в отдельном IFreshNavigationService ?
Существуют ли какие-либо примеры IFreshNavigationService, которые не связаны с представлениями с вкладками или входом в систему?