页面传值问题
场景: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值的传递和接收。