Навигация к определенному 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 имеет статический PivotItems)

так что вы хотите перейти к Пятой 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;
        }
}
Другие вопросы по тегам