你的位置:首页 > ASP.net教程

[ASP.net教程]【Win10开发】如何在页面之间传值


我们知道UWP是通过不同的页面来展示不同的内容的,那么我们该怎么进行页面之间的传值呢?

首先我们在MainPage里面写一个ListView来展示一些英文单词。

 1     List<English> wordList = new List<English> 2     { 3       new English { Word = "absolutely",}, 4       new English { Word = "acceleration"}, 5       new English { Word = "acceptance"}, 6       new English { Word = "accessory"}, 7       new English { Word = "accidental"}, 8       new English { Word = "accommodate"}, 9       new English { Word = "accord"},10       new English { Word = "accordance"},11       new English { Word = "accordingly"},12       new English { Word = "accumlate"},13       new English { Word = "accustom"},14     };15     ...16     ...17   public class English18   {19     public string Word { get; set; }20   }

然后将数据绑定到控件上。

1 list.ItemsSource = wordList;

接下来重点来了,我们要实现点击ListView的一个项时导航到另外一个页面并显示所选择的项。页面跳转时我们需要Navigate方法。它的第一个参数是需要导航的下一个页面,而第二个参数就是传给下一个页面的值。我们来看看具体代码吧。

1     private void list_ItemClick(object sender, ItemClickEventArgs e)2     {3       this.Frame.Navigate(typeof(SelectWord),(e.ClickedItem as English).Word);4     }

此时当导航到下一个页面时,值同时也会传过去。那么在下一个页面如何去接受这个值呢?

我们就需要重写OnNavigatedTo方法,它的参数就是我们需要的值,来看代码。

1     protected override void OnNavigatedTo(NavigationEventArgs e)2     {3       select.Text = e.Parameter.ToString();4       base.OnNavigatedTo(e);5     }

这个时候我们就拿到了 传过来的值并把它显示到了第二个页面上 。是不是很简单呢?

最后,当然来看看效果吧。