/// 이 섹션에서 제공되는 메서드는 NavigationHelper에서 /// 페이지의 탐색 메서드에 응답하기 위해 사용됩니다. /// /// 페이지별 논리는 다음에 대한 이벤트 처리기에 있어야 합니다. /// <see cref="GridCS.Common.NavigationHelper.LoadState"/> /// 및 <see cref="GridCS.Common.NavigationHelper.SaveState"/>입니다. /// 탐색 매개 변수는 LoadState 메서드 /// 및 이전 세션 동안 유지된 페이지 상태에서 사용할 수 있습니다. protected override void OnNavigatedTo(NavigationEventArgs e) { ComicQuery comicQuery = e.Parameter as ComicQuery; if (comicQuery != null) { comicQueryManager.UpdateQueryResults(comicQuery); pageTitle.Text = comicQueryManager.Title; } navigationHelper.OnNavigatedTo(e); }
private void ListView_ItemClick(object sender, ItemClickEventArgs e) { ComicQuery query = e.ClickedItem as ComicQuery; if (query != null) { SuspensionManager.CurrentQuery = query.Title; if (query.Title == "All comics in the collection") { this.Frame.Navigate(typeof(QueryDetailZoom), query); } else { this.Frame.Navigate(typeof(QueryDetail), query); } } }
public void UpdateQueryResults(ComicQuery query) { Title = query.Title; switch (query.Title) { case "LINQ makes queries easy": LinqMakesQueriesEasy(); break; case "Expensive comics": ExpensiveComics(); break; case "LINQ is versatile 1": LinqIsVersatile1(); break; case "LINQ is versatile 2": LinqIsVersatile2(); break; case "LINQ is versatile 3": LinqIsVersatile3(); break; case "Group comics by price range": CombineJimmysValuesIntoGroups(); break; case "Join purchases with prices": JoinPurchasesWithPrices(); break; case "All comics in the collection": AllComics(); break; } }
/// <summary> /// 최종 사용자가 응용 프로그램을 정상적으로 시작할 때 호출됩니다. 다른 진입점은 /// 응용 프로그램에서 특정 파일을 열기 시작할 때 사용됩니다. /// </summary> /// <param name="e">시작 요청 및 프로세스에 대한 정보입니다.</param> async protected override void OnLaunched(LaunchActivatedEventArgs e) { #if DEBUG if (System.Diagnostics.Debugger.IsAttached) { this.DebugSettings.EnableFrameRateCounter = true; } #endif Frame rootFrame = Window.Current.Content as Frame; // 창에 콘텐츠가 이미 있는 경우 앱 초기화를 반복하지 말고, // 창이 활성화되어 있는지 확인하십시오. if (rootFrame == null) { // 탐색 컨텍스트로 사용할 프레임을 만들고 첫 페이지로 이동합니다. rootFrame = new Frame(); // 기본 언어 설정 rootFrame.Language = Windows.Globalization.ApplicationLanguages.Languages[0]; rootFrame.NavigationFailed += OnNavigationFailed; if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) { await SuspensionManager.RestoreAsync(); } // 현재 창에 프레임 넣기 Window.Current.Content = rootFrame; } if (rootFrame.Content == null) { // 탐색 스택이 복원되지 않으면 첫 번째 페이지로 돌아가고 // 필요한 정보를 탐색 매개 변수로 전달하여 새 페이지를 // 구성합니다. if (!rootFrame.Navigate(typeof(MainPage), e.Arguments)) { throw new Exception("Failed to create initial page"); } if (!string.IsNullOrEmpty(SuspensionManager.CurrentQuery)) { var currentQuerySequence = from query in new ComicQueryManager().AvailableQueries where query.Title == SuspensionManager.CurrentQuery select query; if (currentQuerySequence.Count() == 1) { ComicQuery query = currentQuerySequence.First(); if (query != null) { if (query.Title == "All comics in the collection") { rootFrame.Navigate(typeof(QueryDetailZoom), query); } else { rootFrame.Navigate(typeof(QueryDetail), query); } } } } } // 현재 창이 활성 창인지 확인 Window.Current.Activate(); }