WP7 Page基类的使用,以及传入任意类型的参数的封装
很多时候我们想统一给所有页面加入统一的代码(比如通过一个开关,控制所有页面跳转的动画,比如通过一个入口,设置所有页面的颜色等等)。
所以,这时让所有页面继承同一个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中,也能找到我的身影,感谢大家
posted on 2012-03-05 23:24 yewenpeng 阅读(1749) 评论(0) 编辑 收藏 举报