WP7 Page基類的使用,以及傳入任意類型的參數的封裝

來源:互聯網
上載者:User

 

  很多時候我們想統一給所有頁面加入統一的代碼(比如通過一個開關,控制所有頁面跳轉的動畫,比如通過一個入口,設定所有頁面的顏色等等)。

所以,這時讓所有頁面繼承同一個Page基類是一個好辦法,我們可以複用任何可以複用的代碼。

    好,現在我們來實現這一基類。給它起名叫SuperPage,

   

namespace PageNavTest
{ 
public class SuperPage:PhoneApplicationPage
{
}
}

   在這裡我不得不感謝一直支援我的滷麵網版主,是他讓我提起興趣寫了這麼一篇文章,再次感謝滷麵網,一個非常不錯的wp7開發論壇,後面我也將再次向大家發布幾篇高品質文章,請大家到滷麵上找我吧,呵呵

    進入正題:

在mainpage.xaml中,我們有二處要改動

<local:SuperPage 
xmlns:local="clr-namespace:PageNavTest"
x:Class="PageNavTest.MainPage"
</local:SuperPage>

在mainpage.cs中,我們也要改動一處

 public partial class MainPage : SuperPage

 

  好了,這次Mainpage,就繼承SuperPage了,同理你可以改page1.xaml,page2.xaml,page3.xaml, 當這些頁面有共同邏輯時,只用在Basepage中改動而不用分別改其它類。

 

   下面我再來介紹一種頁面跳轉傳任意參數的方法:

 大家可能都知道,一種實現方式就是使用一個全域變數,把參數儲存到全域變數中,這種方法不錯,不過我可能會用另一種辦法,可能寫得有點麻煩,大家不要見笑。我下面會結合Superpage,把頁面任意跳轉封裝得更方便使用。

  最終大家將可能這樣進行任意參數的傳入

           TestInfo newInfo=new TestInfo();
newInfo.name="put an arguemnet of TestInfo: 123435";
object[] args=new object[1];
args[0]=newInfo;
OpenPage("/Page1.xaml", args);//傳參,跳轉頁面

而在被跳轉的頁面,也將會非常簡單的使用傳入的參數

   protected override void OnPageIn(object[] obj)
{
TestInfo info = obj[0] as TestInfo;
test.Text = info.name;
}

我希望你能喜歡我的文章!如果你有更多想法,請到滷麵網 wp7開發論壇(codewp7.com)問答區聯絡我,我會很高興知道你在想什麼。同時wp7交流QQ群172765887中,也能找到我的身影,感謝大家

源碼請猛擊

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.