Навигация к определенному PivotItem
Как перейти к определенному элементу Pivot на странице Pivot, когда я нажимаю на изображение на главной странице?
Коды 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>
Я хочу перейти к пятому элементу Pivot, когда нажимаю на изображение на главной странице.
2 ответа
Элемент управления Pivot имеет такие свойства, как SelectedItem
или же SelectedIndex
который может быть установлен для этого.
<phone:Pivot x:Name="pvControl">
<phone:PivotItem x:Name="piFive" Header="fifth">
..........
..........
</phone:PivotItem>
pvControl.SelectedItem = piFive;
Вы можете отправить в свои навигационные аргументы указатель PivotItem
вы хотите перейти к (если ваш Pivot имеет статический PivotItem
s)
так что вы хотите перейти к Пятой 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;
}
}