/// <summary> /// Raised when the user loads the page. /// Register to the MVVM Light Messenger. /// Load the menu items. /// Register the background task to the system. /// </summary> /// <param name="e">Navigation event arguments</param> protected override async void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); // Register to the MVVM Light Messenger Messenger.Default.Register <VisualGenericGroup>(this, GoToMasterPage); Messenger.Default.Register <VisualGenericItem>(this, GoToDetailsPage); Messenger.Default.Register <PinnableObject>(this, Pin); Messenger.Default.Register <Uri>(this, GoToWebPage); Messenger.Default.Register <object>(this, GoToAboutPage); // Load items if (e.NavigationMode == NavigationMode.New) { IMainViewModel viewModel = (IMainViewModel)DataContext; if (App.IsInternetAvailable && viewModel.LoadMenuCommand.CanExecute(this)) { viewModel.LoadMenuCommand.Execute(this); } // Register the background tast to the system RegisterBackgroundTasksHelper helper = new RegisterBackgroundTasksHelper(); await helper.RegisterAsync(); // Update the application tile ApplicationTileManager manager = new ApplicationTileManager(); await manager.CreateAsync(); } }
/// <summary> /// Raised when the page is loaded /// </summary> /// <param name="e">Navigation event arguments</param> protected override async void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (_selectedPanoramaGroup != null) { int index = Panorama.Items.Cast <VisualGenericGroup>().TakeWhile(item => item != _selectedPanoramaGroup).Count(); Panorama.DefaultItem = Panorama.Items[index]; } if (e.NavigationMode == NavigationMode.New) { IMainViewModel viewModel = (IMainViewModel)DataContext; if (viewModel.LoadMenuCommand.CanExecute(this)) { viewModel.LoadMenuCommand.Execute(this); } BackgroundTaskRegistrationHelper taskRegistration = new BackgroundTaskRegistrationHelper(); taskRegistration.Register(); ApplicationTileManager tileManager = new ApplicationTileManager(); await tileManager.UpdateAsync(); } }
/// <summary> /// Create the application tile /// </summary> /// <param name="task">Informations about the periodic task</param> protected override async void OnInvoke(ScheduledTask task) { try { // Update application tile ApplicationTileManager appTileManager = new ApplicationTileManager(); await appTileManager.UpdateAsync(); // Display toast notification if a new element has been published ToastManager manager = new NewsToastManager(); await manager.CheckAndToastAsync(); manager = new ConferenceToastManager(); await manager.CheckAndToastAsync(); manager = new ShowToastManager(); await manager.CheckAndToastAsync(); } finally { NotifyComplete(); } }