Tratto da Exercise 1: Creating Windows Phone Applications with Microsoft Visual Studio 2010 Express for Windows PhoneQual è la differenza tra il metodo NavigationService.Navigate() e la proprietà PhoneApplicationFrame.Source?
Task 3: Fase 9
// navigate
this.NavigationService.Navigate(new Uri("/PuzzlePage.xaml", UriKind.Relative));
Nota:
La classe PhoneApplicationPage fornisce metodi e proprietà per navigare le pagine attraverso la sua proprietà NavigationService. È possibile chiamare il metodo Navigate di NavigationService e passare l'URI per la pagina come parametro. Puoi anche utilizzare i metodi GoBack e GoForward per navigare indietro o in avanti nella cronologia di navigazione. Il pulsante back hardware consente anche la navigazione all'indietro all'interno di un'applicazione. Il gestore eventi mostrato sopra utilizza NavigationService per andare alla pagina PuzzlePage.xaml.
Task 4: Fase 3
(RootVisual as Microsoft.Phone.Controls.PhoneApplicationFrame).Source =
new Uri("/ErrorPage.xaml", UriKind.Relative);
Nota:
...
Ogni volta che si imposta la proprietà Source per un valore che è diverso dal contenuto visualizzato, il telaio naviga a il nuovo contenuto.
...
Quali sono le differenze e le somiglianze di entrambe le tecniche?
PhoneApplicationFrame.Source è ereditato da Frame e non è quindi specifico per Windows Phone. Non riesco a testarlo in questo momento, ma penso che sia possibile navigare attraverso lo stack di pagine anche quando si utilizza la proprietà Source. Una differenza tra il metodo Navigate e la proprietà Source è che non è possibile chiamare Navigate su una pagina che non è stata ancora caricata, mentre è possibile impostare la proprietà Source ogni volta che si desidera. –
"non è possibile chiamare Naviga su una pagina che non è stata ancora caricata"? Questo significa che non posso navigare verso una pagina che non è mai stata esplorata prima? Molto confuso. –