自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

31天學會Windows Phone 7開發(fā):頁面間導航

移動開發(fā)
本文是《Windows Phone 7開發(fā)31日談》的第二篇文章,文章介紹了如何在Silverlight for Windows Phone中進行頁面間導航。

本文,我們來探討如何在Silverlight for Windows Phone中進行頁面間導航。這非常重要,原因有二:首先,你不會愿意在一個XAML文件中構建整個應用程序。第二,因為下面的原則,你的程序會自動利用手機內建的返回按鍵。這允許你的用戶想返回到之前的操作時可以向前導航。下一篇文章我們將會深入討論返回按鍵。

在頁面間導航有很多種方法,但是我打算只講一種。我更喜歡叫它簡單Web導航。正如其名,這里采取的方式正如你在HTML頁面中導航相似。當然還有一些其他的框架可用(像MVVM),但是本篇文章的目的是講解這個簡單的方法。

簡單Web導航

假設我們有很多頁面,并且我們想給用戶能在它們之間穿梭的一種方式。先來構建一個簡單的導航UI讓我們能做以上的事情,現(xiàn)在開始:

1.創(chuàng)建一個新的Windows Phone Application

創(chuàng)建一個新的Windows Phone Application

2.添加幾個Windows Phone縱向頁面

添加幾個Windows Phone縱向頁面

我們將在第4日討論頁面方向(縱向和橫向)。現(xiàn)在只談縱向。我創(chuàng)建了3個縱向頁面:Pasta.xaml, Sauce.xaml和Cheese.xaml。我將用幾種不同的方法把它們聯(lián)系在一起。

3.改變頁面的標題,以便在頁面變更后可以知道所在的位置

改變頁面的標題

當你創(chuàng)建一個新頁面時,有一個叫“PageTitle”的XAML元素它默認被設置為“page name”。在每個頁面中都更改這個元素以便于知道你當前處于哪個頁面。我喜歡這樣做是因為可以減少出錯的幾率。你會發(fā)現(xiàn)當你投入精力制作一個項目時起初的代碼看起來都很相似,所以讓他們看起來有所區(qū)別(至少在編碼時)會有很大幫助。

4.在MainPage.xaml中創(chuàng)建幾個超鏈接(hyperlink)

在頁面間建立鏈接,有幾種不同的方式。***種是全XAML解決方案。為此,我們可以使用超鏈接按鈕(HyperlinkButton)控件。以下是代碼:

  1. <HyperlinkButton Content="Pasta" NavigateUri="/Pasta.xaml" Height="30" HorizontalAlignment="Left"     
  2.    Margin="10,10,0,0" Name="hyperlinkButton1" VerticalAlignment="Top" Width="200" /> 
  3.      
  4. <HyperlinkButton Content="Sauce" NavigateUri="/Sauce.xaml" Height="30" HorizontalAlignment="Left"   
  5.   Margin="10,10,0,0" Name="hyperlinkButton2" VerticalAlignment="Top" Width="200" /> 
  6.     
  7. <HyperlinkButton Content="Cheese" NavigateUri="/Cheese.xaml" Height="30" HorizontalAlignment="Left"   
  8.   Margin="10,10,0,0" Name="hyperlinkButton3" VerticalAlignment="Top" Width="200" /> 

當你運行項目時,你可以點擊任何一個超鏈接按鈕然后跳轉到相應的頁面中。使用返回鍵同樣可以使你回到上一個界面。如果你返回多次,你會發(fā)現(xiàn)一旦越過了程序的***頁你就離開了當前的應用程序。

5.通過代碼導航到頁面

如果你喜歡通過代碼而非完全使用XAML,你可以僅僅用一些XAML元素來實現(xiàn)。在本例中,我們使用按鈕。我創(chuàng)建了3個按鈕,每一個都指向相同的事件處理程序。在下面的C#代碼中,你會看到我實際上檢測了是哪個按鈕被點擊了,然后導航到相應的頁面。返回鍵的所有功能仍然可用。

XAML

  1. <Button x:Name="PastaButton" Content="Pasta" Click="Button_Click" Width="200" Height="75" /> 
  2.  
  3. <Button x:Name="SauceButton" Content="Sauce" Click="Button_Click" Width="200" Height="75" /> 
  4.  
  5. <Button x:Name="CheeseButton" Content="Cheese" Click="Button_Click" Width="200" Height="75" /> 

C#

  1. private void Button_Click(object sender, RoutedEventArgs e)  
  2.         {  
  3.             Button clickedButton = sender as Button;  
  4.             switch (clickedButton.Name)  
  5.             {  
  6.                 case "PastaButton":  
  7.                     NavigationService.Navigate(new Uri("/Pasta.xaml", UriKind.Relative));  
  8.                     break;  
  9.                 case "SauceButton":  
  10.                     NavigationService.Navigate(new Uri("/Sauce.xaml", UriKind.Relative));  
  11.                     break;  
  12.                 case "CheeseButton":  
  13.                     NavigationService.Navigate(new Uri("/Cheese.xaml", UriKind.Relative));  
  14.                     break;  
  15.             }  
  16.         } 

正如你看到的,僅僅使用了NavigationService就將用戶的動作記錄了下來,同時使用返回鍵就可以使它沿著決策樹返回。

下載示例代碼

下一篇,我們探索如何利用返回按鍵來實現(xiàn)更多的功能。

原作者:Jeff Blankenburg    譯者:金山崟霸

中文來源:http://www.cnblogs.com/porscheyin/archive/2010/11/21/1883175.html

英文來源:http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-2-Page-Navigation.aspx

【編輯推薦】

  1. 31天學會Windows Phone 7開發(fā):項目模板
責任編輯:王曉東 來源: 博客園
相關推薦

2012-06-13 13:01:57

Windows Pho

2012-08-02 10:16:39

Windows Pho

2012-06-25 16:14:26

Windows Pho

2012-08-01 10:26:33

Windows Pho

2012-06-11 13:08:10

Windows Pho

2012-06-12 10:43:20

Windows Pho

2012-06-06 13:48:34

Windows Pho

2012-08-09 13:39:22

Windows Pho

2012-08-13 09:56:45

Windows Pho

2012-08-16 11:31:30

Windows Pho

2012-06-19 09:31:53

Windows Pho

2012-06-20 10:21:50

Windows Pho

2012-07-13 14:41:12

2012-07-24 10:15:34

Windows Pho

2012-06-21 10:59:31

Windows Pho

2012-07-11 09:21:35

Windows Pho

2012-07-31 09:44:27

Windows Pho

2012-06-29 14:13:10

2013-04-19 16:52:24

Windows PhoWindows Pho

2013-07-30 11:18:37

Windows PhoWindows Pho
點贊
收藏

51CTO技術棧公眾號