Büro

Navigation zwischen XAML-Seiten: Windows Phone 7.5 Entwicklung von Mango-Apps - Teil 21

C# WPF and GUI - Pages and Navigation

C# WPF and GUI - Pages and Navigation
Anonim

Willkommen bei der Windows Phone 7.5 Mango App-Entwicklungsreihe. Im letzten Tutorial sagen wir, wie man Stile und Themen auf Steuerelemente anwendet. In diesem Tutorial sehen wir eine Möglichkeit, zwischen Seiten zu navigieren und Daten von Seite zu Seite zu übertragen.

Wir laden XAML-Seiten in Silverlight-Anwendungen genauso wie wir HTML laden Seiten in einem Webbrowser. Wie in einer Website hat jede Website ihre eigene eindeutige URL (Unified Resource Locator), zum Beispiel www.thewindowsclub.com. In einer Windows Phone 7.5-Anwendung verwenden wir ein Hyperlink-Button-Steuerelement und verwenden dessen NavigateURI-Eigenschaft mit dem URI (Unified Resource Identifier) ​​der XAML-Seite, die Sie laden möchten. Beginnen wir mit einem Beispiel:

Erstellen Sie ein neues Projekt mit einem eindeutigen Namen wie "NavigationDemo". Klicken Sie dann im Lösungs-Explorer mit der rechten Maustaste auf den Projektnamen und wählen Sie Hinzufügen und dann Neues Element. Wählen Sie im Fenster "Neues Objekt hinzufügen" die Seite "Windows Phone Portrait", geben Sie einen Namen wie "Page1.xaml" ein und klicken Sie dann unten auf "Hinzufügen". Dadurch wird eine neue Seite erstellt, die auf einer separaten Registerkarte im Hauptdesignbereich angezeigt wird. Nur zur Verdeutlichung ändern Sie den Seitentitel der neuen Seite auf "Neue Seite", indem Sie die Text-Eigenschaft des Seitentitel-Textblocks ändern. Klicken Sie in der Registerkarte MainPage.xaml auf eine Hyperlink-Schaltfläche im Designbereich. Ändern Sie nun die NavigateUri-Eigenschaft im Eigenschaftenfenster für die Hyperlink-Schaltfläche. Fügen Sie die folgende Zeichenfolge ein

/NavigationDemo;component/Views/Page1.xaml

Führen Sie nun die Anwendung aus und klicken Sie auf die Hyperlink-Schaltfläche, die im Emulator angezeigt wird. Sie werden zu Page1.xaml von MainPage.xaml navigiert.

Um nun Informationen von einer Seite an eine andere zu senden, verwenden wir eine Querystring. Betrachten Sie eine URL wie www.abcxyz.com/images.aspx?id=3&language=de. Hier wird alles nach dem Fragezeichen als Querystring bezeichnet. Sie können feststellen, dass wir zwei Namenswertpaare haben, nämlich id = 3 und langue = en. Das Ampersand erlaubt uns, verschiedene Informationen hinzuzufügen, in diesem Fall ID und Sprache.

Also werden wir nun in der Fortsetzung unseres Projekts einen TextBlock auf der Page1.xaml Seite ziehen und ablegen. Löschen Sie die TextBlock.Text-Eigenschaft, und fügen Sie den folgenden C # -Code in das PhoneApplicationPage_Loaded-Ereignis ein:

textBlock1.Text = String.Format ("Wert: {0}", NavigationContext.QueryString ["id"]);

So In dieser Codezeile verwenden wir den NavigationContext, der uns Zugriff auf die URL gibt, speziell auf den Querystring. In den eckigen Klammern geben wir das Element an, auf das wir zugreifen möchten.

Bevor wir die Anwendung ausführen, ändern wir die NavigateUri-Eigenschaft der Hyperlink-Schaltfläche in die folgende

/NavigationDemo;component/Views/Page1.xaml?id = 1

Wir ziehen auch eine weitere Hyperlink-Schaltfläche in der MainPage.xaml und legen ihre navigateUri-Eigenschaft auf die folgende

/NavigationDemo;component/Views/Page1.xaml?id=2

Jetzt, wenn Sie Führen Sie die Anwendung aus und klicken Sie auf eine Hyperlink-Schaltfläche im Emulator, um den Wert der von MainPage.xaml übergebenen ID sehen zu können. So einfach ist das Navigieren zwischen Seiten in einer Windows Phone 7-Anwendung. Üben Sie es so lange, bis Sie es richtig verstanden haben. Jetzt erfahren Sie, wie Sie mit der Anwendungsleiste arbeiten.