导航到特定的数据透视项

本文关键字:数据 透视 导航 | 更新日期: 2023-09-27 18:31:19

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

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

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

透视页面的代码如下

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

我想在点击主页上的图像时导航到第五个透视项。

导航到特定的数据透视项

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

<phone:Pivot x:Name="pvControl">
<phone:PivotItem x:Name="piFive" Header="fifth">
    ..........         
    ..........                      
        </phone:PivotItem>
pvControl.SelectedItem = piFive;
您可能

希望在导航参数中发送要导航到的PivotItem的索引(如果您的透视具有静态PivotItem

所以你想导航到第五PivotItem,那么你可能需要传递一个带有 PivotItem 索引(即 4)的导航参数。在PivotItem页面中,您将从传递的参数中获取索引,并使用属性SelectedIndex选择PivotItem

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

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;
        }
}