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