导航到特定的PivotItem

时间:2013-09-13 02:27:07

标签: c# windows-phone-8

当我点击主页上的图像时,如何导航到数据透视页的特定数据透视表?

主页上的图像的XAML代码如下

 <Image  Source="Assets/5.jpg" Stretch="UniformToFill" Height="150" Width="150" Margin="12,12,0,0"/>

Pivot-Page的代码如下:

<phone:PivotItem Header="fifth">
    ..........         
    ..........                      
        </phone:PivotItem>

当我点击主页面上的图像时,我想导航到第五个数据透视表项目。

2 个答案:

答案 0 :(得分:7)

数据透视控件具有SelectedItemSelectedIndex等属性,可以设置为执行此操作。

<phone:Pivot x:Name="pvControl">
<phone:PivotItem x:Name="piFive" Header="fifth">
    ..........         
    ..........                      
        </phone:PivotItem>

pvControl.SelectedItem = piFive;

答案 1 :(得分:7)

您可能希望在导航栏中发送要导航到的PivotItem的索引(如果您的Pivot已静态PivotItem

因此您想要导航到FIFTH PivotItem,然后您可能想要传递索引为PivotItem(为4)的导航参数。在PivotItem页面中,您将从传递的参数中获取索引,并使用属性PivotItem

选择SelectedIndex

例如,您的Pivot包含在PivotPage.xaml中,那么您可能希望导航到该页面(当然,您将导航调用添加到图像点按事件处理程序):

this.NavigationService.Navigate(new Uri("/PivotPage.xaml?item=4", UriKind.RelativeOrAbsolute));

item=4是您的导航参数

然后在PivotPage.xaml代码隐藏中,添加覆盖OnNavigateTo() PhoneApplicationPage方法,如下所示:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
        base.OnNavigatedTo(e);
        if (NavigationContext.QueryString.ContainsKey("item"))
        {
            var index = NavigationContext.QueryString["item"];
            var indexParsed = int.Parse(index);
            Pivot.SelectedIndex = indexParsed;
        }
}