首页 > 代码库 > wp8.1 Study1: 页面导航&页面间值传递

wp8.1 Study1: 页面导航&页面间值传递

摘要:wp8.1与wp8中很多API是不一样了,wp8.1把以前wp7.x时的api去掉了,更多与win8.1的API相似。比如以下的页面导航和页面之间的值传递

 

1、页面导航

利用Frame.Navigate() 方法,C#语句如下:

1  Frame.Navigate(typeof(Page2));//Page2为一个页面的名称

这里需要注意的是此方法是可以重载的,即后面介绍的页面间值传递方法。

2、页面间值传递

这里利用Frame.Navigate()重载方法,进行单个值传递和多个值传递

1)单个值传递:可以传递字符、数字等数据,如

在Page1.xaml.cs中

1 na=myTextbox.text;2 Frame.Navigate(typeof(Page2), na);

而在Page2.xaml.cs中,接收数据

        //在OnNavigate()方法中接收传递的数据        protected override void OnNavigatedTo(NavigationEventArgs e)        {                       myTextblock.Text = e.Parameter.ToString();        }

 

2)多值传递:其基本方法也是和单值传递方法的思想是一样的。

参考方法如下:

        首先新建个类

namespace navigateSample{    public class NavigateContext    {         public string name { get; set; }         public int id { get; set; }        public NavigateContext(string name, int id)         {             this.id = id;             this.name = name;         }    }}

       然后利用NavigateContext类的进行多值传递

            NavigateContext na = new NavigateContext(myTextbox.Text, (int)mySlider.Value);            Frame.Navigate(typeof(Page2), na);//myTextbox是Page页面中Textbox.name, mySlider是Page页面中Slider.name

而在Page2.xaml.cs中,接收数据

        protected override void OnNavigatedTo(NavigationEventArgs e)        {            var na = (NavigateContext)e.Parameter;            myTextblock1.Text =na.name;            myTextblock2.Text = na.id.ToString();        }

总结:以上知识是学习Bob的视频所学到的,如果有什么不对欢迎指出!

wp8.1 Study1: 页面导航&页面间值传递