/// <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) { var item = await ControlInfoDataSource.GetItemAsync((String)e.NavigationParameter); if (item != null) { Item = item; // Load control page into frame. var loader = new Windows.ApplicationModel.Resources.ResourceLoader(); string pageRoot = loader.GetString("PageStringRoot"); string pageString = pageRoot + item.UniqueId + "Page"; Type pageType = Type.GetType(pageString); if (pageType != null) { this.contentFrame.Navigate(pageType); } if (item.Title == "AppBar") { //Child pages don't follow the visible bounds, so we need to add margin to account for this header.Margin = new Thickness(0, 24, 0, 0); } } }
/// <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 item = await ControlInfoDataSource.GetItemAsync((String)e.NavigationParameter); this.DefaultViewModel["Item"] = item; if (item != null) { this.DefaultViewModel["Item"] = item; // Load control page into frame. var loader = new Windows.ApplicationModel.Resources.ResourceLoader(); string pageRoot = loader.GetString("PageStringRoot"); string pageString = pageRoot + item.UniqueId + "Page"; Type pageType = Type.GetType(pageString); if (pageType != null) { this.contentFrame.Navigate(pageType); } } }