摘要: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的视频所学到的,如果有什么不对欢迎指出!
时间: 2024-10-10 05:04:51