Windows Phone 7 頁面導航

來源:互聯網
上載者:User

1.普通頁面導航

使用HyperlinkButton控制項的NavigateUri屬性進行頁面間的導航。

例如:  <HyperlinkButton Content="音樂" Height="30" HorizontalAlignment="Left" Margin="68,65,0,0" 
Name="MusicshyperlinkButton" VerticalAlignment="Top" Width="200" NavigateUri="/Views/Musics.xaml" />

NavigateUri:屬性工作表示導航到的頁面的相對位址。

2.使用Button控制項導航。

由於Button控制項沒有Navigate等支援導航的屬性,這裡我們藉助NavigationService的Navigate方法實現頁面導航。

例如註冊Button控制項的Click事件,並添加如下代碼

         private void btn_Movies_Click(object sender, RoutedEventArgs e)        {            NavigationService.Navigate(new Uri("/Views/Musics.xaml",UriKind.Relative));        }

這樣也可以實現頁面的導航。

以上的導航屬於使用頁面所在的相對路徑進行導航,此外還可以使用別名進行導航,這個和Web開發使用的別名導航類似。請看如下解釋。

3.使用別名進行導航.

首先在App.xaml檔案中添加一個名字空間

xmlns:nav="clr-namespace:System.Windows.Navigation;assembly=Microsoft.Phone"

使用別名導航需要使用到上面的添加的名字空間。

然後在

<Application.Resources></Application.Resources>

中添加以下內容,即將導航頁面映射到資源檔中。

<Application.Resources>        <nav:UriMapper x:Key="UriMapper">            <nav:UriMapping Uri="Musics" MappedUri="/Views/MusicsPage.xaml"/>            <nav:UriMapping Uri="Movies" MappedUri="/Views/MoviesPage.xaml"/>            <nav:UriMapping Uri="Ebooks" MappedUri="/Views/EbookPage.xaml"/>            <nav:UriMapping Uri="SurferInternet" MappedUri="/Views/SurferInternetPage.xaml"/>        </nav:UriMapper>    </Application.Resources>

代碼解釋:

Application.Resources表示應用程式的資源,UriMapper 可以看做是一張導航的地圖,它有一些標記,來表示每一張頁面,我們稱把這些標記稱為每張頁面的別名(別名不能重複),每一張頁面都會有一個唯一的所在地址,一般用相對路徑表示,MappedUri屬性工作表示導航頁面的所在路徑即地址。

上面的代碼我們可以看做是在一張地圖上標記了四個地方他們叫做Musics,Movies,Ebooks,SurferInternet,他們都有唯一的路徑和標示名稱。通過訪問這些標示名稱(引用別名)就可以導航到相應的頁面。

添加以上代碼還需在App.xaml.cs檔案中的public App(){......}位置添加如下代碼:

 public App(){   this.RootFrame.UriMapper = Resources["UriMapper"] as UriMapper;}

作用是將應用程式的主架構的UriMapper 屬性設定為我們之前所寫得資源檔,可以看做是把一張標示各個頁面的地圖賦給UriMapper ,這樣我們就可以調用了。

調用方式:

首先聲明一個HyperlinkButton控制項,將NavigateUri設定為相應頁面的別名即可例如:

<HyperlinkButton Content="音樂" Height="30" HorizontalAlignment="Left" Margin="68,65,0,0" 
Name="MusicshyperlinkButton" VerticalAlignment="Top" Width="200" NavigateUri="Musics" />

這樣便實現了頁面的別名導航。

小建議:這裡可以結合之前的一篇關於頁面間參數傳遞一起看:http://www.cnblogs.com/potential/archive/2012/11/03/2752826.html。

說明:以上內容參考Jake Lin的Windows Phone 視頻而寫。

(著作權,轉載請標明出處)

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.