您的位置:首页 > 其它

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

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

所以,这时让所有页面继承同一个Page基类是一个好办法,我们可以复用任何可以复用的代码。

好,现在我们来实现这一基类。给它起名叫SuperPage,

namespace PageNavTest
{
public class SuperPage:PhoneApplicationPage
{
}
}


[/code]
复制代码

在这里我不得不感谢一直支持我的卤面网版主,是他让我提起兴趣写了这么一篇文章,再次感谢卤面网,一个非常不错的wp7开发论坛,后面我也将再次向大家发布几篇高质量文章,请大家到卤面上找我吧,呵呵

进入正题:

在mainpage.xaml中,我们有二处要改动

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


[/code]
复制代码

</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);//传参,跳转页面


[/code]
复制代码

而在被跳转的页面,也将会非常简单的使用传入的参数

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


复制代码

我希望你能喜欢我的文章!如果你有更多想法,请到卤面网
wp7开发论坛(codewp7.com)问答区联系我,我会很高兴知道你在想什么。同时wp7交流QQ群172765887中,也能找到我的身影,感谢大家

源码请猛击
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐