private async Task ProcessNavigationForAbsoulteUri(Queue <string> segments, IParameters parameters) { if (segments.Count == 0) { return; } (var view, var segmentParameters) = await ProcessSegmentAsync(null, segments, parameters).ConfigureAwait(false); _rootNavigationController.View = view; ViewUtilities.OnNavigatedTo(view, segmentParameters); await ProcessNavigation(view, segments, parameters); }
private async Task ProcessNavigation(View currentView, Queue <string> segments, IParameters parameters) { if (segments.Count == 0) { return; } (var view, var segmentParameters) = await ProcessSegmentAsync(currentView, segments, parameters).ConfigureAwait(false); NavigationView.Navigate(currentView, view); ViewUtilities.OnNavigatedFrom(currentView, segmentParameters); ViewUtilities.OnNavigatedTo(view, segmentParameters); await ProcessNavigation(view, segments, parameters).ConfigureAwait(false); }