0

我有一个 UWP 应用程序并使用了 Windows Template Studio。这使用了实现框架导航的 NavigationService。我的 UI 包含一个 Pivot 控件,每个数据透视项都包含一个页面。有没有办法通过像按钮单击特定页面这样的事件导航到特定的 Pivot 项目?

4

2 回答 2

1

可能是我们希望将用户引导至特定控件或向他们提供更多信息的情况。假设有一个主页,我们告诉用户有一些新的东西,但它可能在其中一个枢轴页面中。用户只需单击按钮即可将他们带到特定的数据透视项或可能在数据透视项中的某些其他特定控件。不知道如何更好地解释这一点。

如果是这样,您必须自己编写代码才能满足您的要求。

例如,您可以使用一些简单的代码来执行此操作,如下所示:

private void Button_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
{
    var query = "your parameter"; // you need to specify the query parameter by the different situation

    switch (query)
    {
        case null: pivotPage.SelectedIndex = 0; break;
        case "MainPage": pivotPage.SelectedIndex = 0; break;
        case "Page1": pivotPage.SelectedIndex = 1; break;
        default: pivotPage.SelectedIndex = 0; break;
     }
}
<Grid>
    <Pivot x:Name="pivotPage" >
        <PivotItem Header="MainPage">
            <Frame>
                <views:MainPage/>
            </Frame>
        </PivotItem>
        <PivotItem Header="Page1">
            <Frame>
                <views:BlankPage1></views:BlankPage1>
            </Frame>
        </PivotItem>
    </Pivot>

    <Button Content="Navigate to Page1" Click="Button_Click"></Button>
</Grid>
于 2018-08-09T09:52:53.417 回答
0

您可以通过查询字符串传递信息来做到这一点。在您的按钮单击事件中:

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

这个答案可能对你有所帮助

于 2018-08-08T12:49:43.773 回答