Использование PivotItem, подобного этому, идет вразрез с руководством по пользовательскому интерфейсу и не должно быть реализовано.Однако, ради теории, если ничего другого, вы можете сделать что-то вроде этого.
Дайте вашему первому и последнему PivotItem имя.
<controls:PivotItem Header="Item1" Name="first">
...
<controls:PivotItem Header="Item5" Name="last">
Обрабатывайте Pivot LoadingPivotItem
и LoadedPivotItem
событий.Затем вы можете сделать что-то вроде этого:
//class level variable we use for the current pivot
PivotItem currentItem = null;
private void Pivot_LoadingPivotItem(object sender, PivotItemEventArgs e)
{
//if the next item is going to be "first" pivot
//and the previous item was the "last" pivot...
if (e.Item == first && currentItem == last)
{
//...reset the Pivot back to the last one.
mainPivot.SelectedItem = last;
}
//same theory as above but checking if we're
//sliding to the last one from the first one
if (e.Item == last && currentItem == first)
{
mainPivot.SelectedItem = first;
}
}
private void mainPivot_LoadedPivotItem(object sender, PivotItemEventArgs e)
{
//once the pivot is loaded, update the currentItem
currentItem = e.Item;
}