zoukankan      html  css  js  c++  java
  • 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中,也能找到我的身影,感谢大家

    源码请猛击





  • 相关阅读:
    java栈的最大深度?
    String hashCode 方法为什么选择数字31作为乘子
    LinkedList 源码分析(JDK 1.8)
    ArrayList 源码分析
    LinkedHashMap 源码详细分析(JDK1.8)
    Java并发基础:了解无锁CAS就从源码分析
    IntelliJ IDEA(2018)安装详解
    HashMap 源码详细分析(JDK1.8)
    Java原子类实现原理分析
    谈谈Java中的volatile
  • 原文地址:https://www.cnblogs.com/sonyye/p/2381147.html
Copyright © 2011-2022 走看看