2010-05-05 6 views
5

Exercise 1: Creating Windows Phone Applications with Microsoft Visual Studio 2010 Express for Windows PhoneNavigationService.Navigate() 메서드와 PhoneApplicationFrame.Source 속성의 차이점은 무엇입니까?

작업 3에서 촬영 : 9 단계

// navigate 
this.NavigationService.Navigate(new Uri("/PuzzlePage.xaml", UriKind.Relative)); 

참고 :
하여 PhoneApplicationPage 클래스가 제공하는 메서드와 속성이 해당 NavigationService 속성을 통해 페이지로 이동합니다. NavigationService의 Navigate 메서드를 호출하고 페이지의 URI를 매개 변수로 전달할 수 있습니다. GoBack 및 GoForward 메소드를 사용하여 탐색 기록에서 앞뒤로 탐색 할 수도 있습니다. 하드웨어 백 버튼은 응용 프로그램 내에서 이전 탐색을 제공합니다. 위에 표시된 이벤트 처리기는 NavigationService를 사용하여 PuzzlePage.xaml 페이지로 이동합니다.

작업 4 : 단계 3

(RootVisual as Microsoft.Phone.Controls.PhoneApplicationFrame).Source = 
    new Uri("/ErrorPage.xaml", UriKind.Relative); 

참고 :
...
당신이 표시 내용과 다른 값으로 소스 속성을 설정할 때마다 는 프레임에 탐색 새로운 내용
...

두 기술의 차이점 및 유사점은 무엇입니까?

답변

6

본질적으로 둘 다 똑같습니다.

NavigationService.Navigate은 하나의 xaml 파일에서 다른 xaml 파일로의 비동기 탐색을 허용하는 (사용자 정의 컨트롤을로드 할 필요가 없음) 네이티브 Silverlight 탐색 서비스입니다. - 매우 간단한 개요 인 here이 있습니다.

차이점은 NavigationService은 브라우저 방식으로 앞뒤로 이동할 수 있다는 것입니다. PhoneApplicationFrameSource 속성은 설정하지 않습니다.

아직 초기 단계이며 사용하기에 적합한 교육용 추측을하기에는 너무 이릅니다.

NavigationService은 Silverlight- 네이티브 클래스라는 장점이 있지만 PhoneApplicationFrame.Source은 WP에만 해당됩니다.

+1

PhoneApplicationFrame.Source는 Frame에서 상속되므로 Windows Phone과 관련이 없습니다. 지금 당장은 테스트 할 수 없지만 Source 속성을 사용할 때도 페이지 스택을 탐색 할 수 있다고 생각합니다. Navigate 메서드와 Source 속성의 차이점 중 하나는 아직로드되지 않은 페이지에서 Navigate를 호출 할 수 없다는 것입니다. 원하는 경우 언제든지 Source 속성을 설정할 수 있습니다. –

+0

"아직로드되지 않은 페이지에서 탐색을 호출 할 수 없습니다." 이전에 탐색 한 적이없는 페이지로 이동할 수 없다는 뜻입니까? 매우 혼란 스럽습니다. –

관련 문제