protected async override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); OverviewParameter parameter = e.GetParameter <OverviewParameter>(); string categoryName = parameter.CategoryKey.IsEmpty ? "All" : await queryDispatcher.QueryAsync(new GetCategoryName(parameter.CategoryKey)); categoryKey = parameter.CategoryKey; object period = null; if (parameter.Month != null) { month = parameter.Month; period = parameter.Month; } if (parameter.Year != null) { year = parameter.Year; period = parameter.Year; } ViewModel = new OverviewViewModel(navigator, parameter.CategoryKey, categoryName, period); ViewModel.Reload += OnViewModelReload; handlers.Add(eventHandlers.AddUiThread <OutcomeCreated>(ViewModel, Dispatcher)); handlers.Add(eventHandlers.AddUiThread <OutcomeAmountChanged>(ViewModel, Dispatcher)); handlers.Add(eventHandlers.AddUiThread <OutcomeDescriptionChanged>(ViewModel, Dispatcher)); handlers.Add(eventHandlers.AddUiThread <OutcomeWhenChanged>(ViewModel, Dispatcher)); if (userPreferences.TryLoad("Overview.SortDescriptor", out SortDescriptor <OverviewSortType> sortDescriptor)) { SortDescriptor = sortDescriptor; } else { SortDescriptor = new SortDescriptor <OverviewSortType>(OverviewSortType.ByDate, SortDirection.Ascending); } await ReloadAsync(); ContentLoaded?.Invoke(this, EventArgs.Empty); }