/// <summary> /// Populates the page with content passed during navigation. Any saved state is also /// provided when recreating a page from a prior session. /// </summary> /// <param name="sender"> /// The source of the event; typically <see cref="NavigationHelper"/> /// </param> /// <param name="e">Event data that provides both the navigation parameter passed to /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested and /// a dictionary of state preserved by this page during an earlier /// session. The state will be null the first time a page is visited.</param> private async void navigationHelper_LoadState(object sender, LoadStateEventArgs e) { //StoryTeller.DataModel.Model.StoryProject project = StoryTeller.DataModel.ProjectDataSource.Project; //System.Runtime.Serialization.Json.DataContractJsonSerializer s = new System.Runtime.Serialization.Json.DataContractJsonSerializer(project.GetType()); //FileSavePicker saveDialog = new FileSavePicker(); //saveDialog.FileTypeChoices.Add(new KeyValuePair<string, IList<string>>("Json", new List<string>(new string[] { ".json" }))); //StorageFile storageFile = await saveDialog.PickSaveFileAsync(); //Stream stream = await storageFile.OpenStreamForWriteAsync(); //s.WriteObject(stream, project); //stream.Flush(); string key = e.NavigationParameter.ToString(); DataContext = ViewModelCache.Local.Retrieve(key); }
/// <summary> /// Populates the page with content passed during navigation. Any saved state is also /// provided when recreating a page from a prior session. /// </summary> /// <param name="sender"> /// The source of the event; typically <see cref="NavigationHelper"/> /// </param> /// <param name="e">Event data that provides both the navigation parameter passed to /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested and /// a dictionary of state preserved by this page during an earlier /// session. The state will be null the first time a page is visited.</param> private async void navigationHelper_LoadState(object sender, LoadStateEventArgs e) { // TODO: Create an appropriate data model for your problem domain to replace the sample data //var sampleDataGroups = await SampleDataSource.GetGroupsAsync(); //this.DefaultViewModel["Groups"] = sampleDataGroups; DataContext = null; DataContext = ViewModelCache.Local.Retrieve(ViewModelCacheKey); if (null == DataContext) { SetDefaultContext(); } else { projectViewModel = DataContext as ProjectViewModel; libraryViewModel = projectViewModel.Library; UpdateFullscreenButton(); } }