WP7 Page基类的使用以及任意类型的参数的封装

来源:互联网 发布:app网站制作软件 编辑:程序博客网 时间:2024/05/07 16:07

很多时候我们想统一给所有页面加入统一的代码(比如通过一个开关,控制所有页面跳转的动画,比如通过一个入口,设置所有页面的颜色等等)。

所以,这时让所有页面继承同一个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中,也能找到我的身影,感谢大家

源码请猛击


原创粉丝点击