Windows 10 UWP:无法停止循环控制

时间:2015-10-27 09:47:08

标签: windows-phone-8 windows-phone-8.1 windows-10 windows-10-mobile

我正在尝试停止在我的Windows 10 UWP应用程序中循环Pivot Control。 我找不到任何解决办法。

任何人都有任何想法停止循环枢轴控制。

我也想停止直接导航。 假设,我的枢轴中有6个Pivot项目,我不想直接跳转到Pivot Item 1到Pivot Item 4.它应该是前进过程,即Pivotitem 1到PivotItem 2或PivotItem 2到PivotItem 3。

我尝试选择更改了Pivot Control的事件,但它对我没有用。

var currentPivot = ((Pivot)sender);
var count = e.AddedItems.Count;

if ((currentPivot.SelectedIndex) > count)
{
    Pager.SelectedIndex = count - 1;
}

任何回复都将不胜感激!

4 个答案:

答案 0 :(得分:0)

如果您不想拥有循环行为,可以使用FlipView并将其样式更改为看起来像pivot。

答案 1 :(得分:0)

我是这样做的:

  1. 更改pivot ManipulationMode ManipulationMode="TranslateX"
  2. 添加ManipulationDelta和ManipulationCompleted处理程序
  3. 我的支点现在看起来像:

    <Pivot ManipulationMode="TranslateX" x:Name="testPivot" ManipulationDelta="testPivot_ManipulationDelta" ManipulationCompleted="testPivot_ManipulationCompleted">
        <PivotItem Header="Page1" ></PivotItem>
        <PivotItem  Header="Page2"></PivotItem>
        <PivotItem  Header="Page3"></PivotItem>
    </Pivot>
    
    1. 实施处理程序。
    2. 我看起来如此:

      double xDelta = 0;
      private void testPivot_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
      {
          xDelta += e.Delta.Translation.X;
      }
      
      private void testPivot_ManipulationCompleted(object sender, ManipulationCompletedRoutedEventArgs e)
      {
          if(xDelta > 0)
          {
      
              if (testPivot.SelectedIndex > 0)
                  testPivot.SelectedIndex--;
          }
          else
          {
              if(xDelta < 0)
                  if (testPivot.SelectedIndex < testPivot.Items.Count() - 1)
                      testPivot.SelectedIndex++;
      
          }
          xDelta = 0;
          e.Handled = true;
      }
      
      1. 现在,您可能希望在枢轴项目更改之间添加一些动画或进行其他一些调整

答案 2 :(得分:0)

使用此代码。我希望这对所需的全部逻辑有所帮助。

这里的构造函数:

 if (pivot.SelectedIndex == 0 && previousSelectedIndex == <number Of screens - 1>)
            pivot.SelectedIndex = <number Of screens - 1>;
        previousSelectedIndex = pivot.SelectedIndex;

枢轴选择的事件监听器已更改:

jQuery(function(){
    if(window.location.hash){ //<------if hash values are location then only executes
       var target = "archive-tracks";
       jQuery('html, body').animate({
           scrollTop: jQuery('#'+target).offset().top
       }, 1500,'swing');
       return false;
    }
});

答案 3 :(得分:0)

从SDK 14393,Win10 1607开始,现在可以:

<Pivot IsHeaderItemsCarouselEnabled="False"/>