public override async Task OnNavigatedToAsync(object parameter, NavigationMode mode, IDictionary <string, object> suspensionState) { if (suspensionState.Any()) { Sets = suspensionState[nameof(Sets)] as ObservableCollection <SetViewModel>; } if (parameter != null) { var sets = parameter as IEnumerable <Set>; if (sets != null && sets.Any()) { ShowNothingHere = false; ContainsData = true; foreach (var set in sets) { Sets.Add(new SetViewModel(set)); } } } else { var allSetsFromStorage = await SetStorage.GetAllSets(); Sets.Clear(); foreach (var set in allSetsFromStorage) { Sets.Add(new SetViewModel(set)); } } await Task.CompletedTask; }