public async override void OnNavigatedTo(NavigatedToEventArgs e, Dictionary <string, object> viewModelState) { base.OnNavigatedTo(e, viewModelState); int parentCategoryId = int.Parse(e.Parameter.ToString()); ICollection <Category> subCategories = null; string errorMessage = string.Empty; try { subCategories = await _productCatalogRepository.GetSubcategoriesAsync(parentCategoryId, 5); } catch (Exception ex) { errorMessage = string.Format(CultureInfo.CurrentCulture, _resourceLoader.GetString("GeneralServiceErrorMessage"), Environment.NewLine, ex.Message); } if (!string.IsNullOrWhiteSpace(errorMessage)) { await _alertMessageService.ShowAsync(errorMessage, _resourceLoader.GetString("ErrorServiceUnreachable")); return; } if (string.IsNullOrEmpty(Title)) { Title = _productCatalogRepository.GetCategoryName(parentCategoryId); } var subCategoryViewModels = new List <CategoryViewModel>(); foreach (var subCategory in subCategories) { subCategoryViewModels.Add(new CategoryViewModel(subCategory, _navigationService)); } Subcategories = new ReadOnlyCollection <CategoryViewModel>(subCategoryViewModels); }