Windows Phone 7 verwendet als Anwendungsstruktur das Page-Navigationsmodell von Silverlight. Mit einer kleinen Ausnahme, es gibt keinen Frame in dem navigiert wird. Die Anwendung ist der Frame :)

Hier ein kleines Beispiel:

image

Meine Anwendung die eine Startseite hat und zwei Buttons. Mit diesen Button möchte ich auf jeweils eine andere Seite wechseln. Diese Seiten müssen vom Typ Windows Phone Page sein.

Der Code der zum Navigieren notwendig ist sieht dann wie folgt aus.

using System;
using Microsoft.Phone.Controls;

namespace FeatureDemo
{
    public partial class MainPage : PhoneApplicationPage
    {
        public MainPage()
        {
            InitializeComponent();

            SupportedOrientations = SupportedPageOrientation.Portrait | SupportedPageOrientation.Landscape;
        }

        private void _applicationBarDemo_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            NavigationService.Navigate(new Uri("/Pages/ApplicationBarPage.xaml", UriKind.Relative));
        }

        private void _rotationDemo_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            NavigationService.Navigate(new Uri("/Pages/RotationPage.xaml", UriKind.Relative));
        }
    }
}

Dieses Codebeispiel geht davon aus, das sich die beiden Unterseiten in einem Unterordner namens “Pages” befinden innerhalb meines Projekts befinden.

Das Zurück-Navigieren geht einfach mit dem “Zurück”-Button des Telefons.