页面传值问题

场景:1.普通页面

   2.pivot页面

要实现,普通页面的2个textblock点击,传往pivot页面去,根据点击的不同,选择定位到哪个pivotitem。

解决方法:

第一步:普通页面

private void TextBlock_Tap(object sender, System.Windows.Input.GestureEventArgs e)
{
NavigationService.Navigate(new Uri("/Login.xaml?key1="+tb1.Text,UriKind.Relative));
}//第一个textblock传参数0过去

private void TextBlock_Tap_1(object sender, System.Windows.Input.GestureEventArgs e)
{
NavigationService.Navigate(new Uri("/Login.xaml?key2="+tb2.Text,UriKind.Relative));
}//第二个textblock点击的时候传参数1过去

第二步:pivot页面

protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
string querystringvalue = "";
if (NavigationContext.QueryString.TryGetValue("key1", out querystringvalue))
MyPivotControl.SelectedIndex = 0;

 tb.Text = querystringvalue;
else if (NavigationContext.QueryString.TryGetValue("key2", out querystringvalue))
MyPivotControl.SelectedIndex = 1;

 tb.Text = querystringvalue;
}

//判断传过来的是key1的话,跳到第一个pivotitem,反之第二个。querystringvalue 是value,第一个页面传的是kv值,第二个页面接的也是kv。

//(当然也可以只把key传过来,或者什么也不传)

总结:故事的关键就是kv值的传递和接收。

posted on 2013-12-25 16:37  鸣动我心  阅读(205)  评论(0编辑  收藏  举报