天天看點

Silverlight實用竅門系列:39.Silverlight中使用Frame和Page控件制作導航【附帶執行個體源碼】

在silverlight中有時需要進入不同的xaml頁面,但是一般情況下是不能實作“前進”和“後退”的,在這裡我們可以使用frame+page控件制作導航功能實作上一頁和下一頁的跳轉功能。

在本文中我們制作一個執行個體如下:添加一個frame控件,然後點選“加載uc”和“加載pageshow”按鈕加載uc.xaml和pageshow.xaml頁面。在加載後我們可以通過滑鼠右鍵菜單中的“上一頁”和“下一頁”按鈕進入上下頁,可以通路到曆史頁面。在uc頁面中有一個按鈕,點選該按鈕“測試按鈕”即可進入pagedemo.xaml并且跟入參數,在該頁面接收參數顯示出來。

首先我們在mainpage.xaml頁面中添加一個frame控件(注意引入system.windows.controls.navigation.dll),并且設定urimapping映射位址,其xaml位址如下:

然後再mainpage.xaml.cs頁面中判斷frame的cangoforward和cangoback屬性來決定是否可以上一頁或者下一頁跳轉。

在uc.xaml.cs中是一個按鈕,該按鈕可以通過navigationservice.navigate(new uri("/pagedemo?pid=3&sid=15320", urikind.relative));跳轉到pagedemo.xaml頁面,并且跟入pid和sid參數:

在pagedemo.xaml.cs代碼中是通過navigationcontext類顯示uc.xaml頁面傳遞過來的pid和sid值:

下面我們來看看本demo的執行個體效果如下,注意url欄#/uc即跳轉到uc.xaml頁面,按“上一頁”和“下一頁”即可進入曆史頁面:

Silverlight實用竅門系列:39.Silverlight中使用Frame和Page控件制作導航【附帶執行個體源碼】

在按上面的“測試按鈕”時可以進入以下界面,并且傳入參數pid和sid。

Silverlight實用竅門系列:39.Silverlight中使用Frame和Page控件制作導航【附帶執行個體源碼】

在按上圖的“加載pageshow”按鈕時即可進入以下界面:

Silverlight實用竅門系列:39.Silverlight中使用Frame和Page控件制作導航【附帶執行個體源碼】

繼續閱讀