Windows Template Studio - UWP- навигация в Uri

У меня есть приложение UWP, и я использовал Windows Template Studio. Это использует NavigationService, который реализует Frame Navigation. Мой пользовательский интерфейс включает элемент управления Pivot, и каждый элемент Pivot содержит страницу. Есть ли способ перейти к определенному элементу Pivot с помощью события, такого как нажатие кнопки на определенной странице?

2 ответа

Это могут быть ситуации, когда мы хотим направить пользователя к определенному элементу управления или предоставить ему больше информации. Допустим, есть домашняя страница, и мы говорим пользователям, что есть что-то новое, но это может быть на одной из этих сводных страниц. Пользователь просто нажимает на кнопку, которая приводит его к определенному элементу сводки или, возможно, к другому элементу управления в элементе сводки. Не уверен, как это объяснить лучше.

Если это так, вы должны будете написать самостоятельно, чтобы выполнить ваши требования.

Например, вы можете использовать простой код, например:

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>

Вы можете сделать это, передав информацию через строку запроса. Внутри вашего события нажатия кнопки:

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

Этот ответ может помочь вам

Другие вопросы по тегам