protected override async void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); parameter = (SummaryParameter)e.Parameter; ViewModel.ViewType = parameter.ViewType; switch (parameter.PeriodType) { case SummaryPeriodType.Month: await LoadMonthViewAsync(ViewModel, parameter.Month); break; case SummaryPeriodType.Year: await LoadYearViewAsync(ViewModel, parameter.Year); break; default: throw Ensure.Exception.NotSupported(parameter.PeriodType.ToString()); } if (parameter.SortDescriptor != null) { ViewModel.SortDescriptor = parameter.SortDescriptor; } ContentLoaded?.Invoke(this, EventArgs.Empty); }
protected override async void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); parameter = e.GetParameterOrDefault <SummaryParameter>(); await LoadAsync(); handlers.Add(eventHandlers.AddUiThread(this, Dispatcher)); }
public INavigatorForm Open(object parameter) { Ensure.NotNull(parameter, "parameter"); Type pageType; Type parameterType = parameter.GetType(); ITemplate template = rootFrame.Content as ITemplate; if (template == null) { if (parameterType == typeof(MigrateParameter) && rules.TryGetPageType(parameterType, out pageType)) { return(new PageNavigatorForm(rootFrame, pageType, parameter)); } Type templateType = typeof(Template); if (new MobileStateTrigger().IsActive) { templateType = typeof(TemplateMobile); } return(new PageNavigatorForm(rootFrame, templateType, parameter)); } if (rules.TryGetPageType(parameterType, out pageType)) { Summary summary = template.ContentFrame.Content as Summary; SummaryParameter summaryParameter = parameter as SummaryParameter; if (summary != null && summaryParameter != null) { summary.DecorateParameter(summaryParameter); } return(new PageNavigatorForm(template.ContentFrame, pageType, parameter)); } if (rules.TryGetWizardType(parameterType, out pageType)) { return(new WizardNavigatorForm(pageType, parameter, rootFrame, currentParameter)); } throw Ensure.Exception.InvalidOperation("Missing navigation page for parameter of type '{0}'.", parameterType.FullName); }
public void DecorateParameter(SummaryParameter parameter) { if (parameter.Month == null && parameter.Year == null) { GroupItemViewModel viewModel = pvtGroups.SelectedItem as GroupItemViewModel; if (viewModel != null) { MonthModel month = viewModel.Parameter as MonthModel; if (month != null) { parameter.Month = month; return; } YearModel year = viewModel.Parameter as YearModel; if (year != null) { parameter.Year = year; return; } } } }