0

我正在尝试使用 WinJS 2.1 和一些 Pivot 控件在 Windows Phone 8.1 上构建应用程序。我想检测一个 PivotItem 向左或向右滑动,但根据这个 MSDN 页面(http://msdn.microsoft.com/en-us/library/windows/apps/dn624879.aspx),没有像 'onslideleft 这样的滑动事件'。我的目标是避免 Pivot 循环:当我们到达最后一个 PivotItem 并再次向左滑动时,它会返回到第一个 PivotItem。我只想在用户到达最后一个 PivotItem 时阻止左滑动(并阻止第一个 PivotItem 的右滑动)。

我该怎么做 ?

谢谢。

4

2 回答 2

1

您无法立即在枢轴控制中实现这一点,但您可以像这样在 selectionchange 事件中获取枢轴滑动方向,

document.getElementById("PivotID").addEventListener("selectionchanged", swipehandler);

function swipehandler(evt) {
      var direction = evt.detail.direction;  // 'forward' or 'backwards'
}

因此,在此选择更改事件中,您可以检查枢轴的长度和索引并限制枢轴循环,但如果您喜欢这个枢轴会闪烁。无论如何只是试一试。

于 2015-02-04T05:48:08.027 回答
1

不确定这是否是您想要的,但您可以在 selectionchanged 时检查 selectedIndex 并跟踪以查看您是否遇到了所描述的情况。

    ready: function (element, options) {

        var pivotEl = document.getElementById("idofpivotcontrol");

        pivotEl.addEventListener('selectionchanged', function (ev) {
            var pivotControl = document.getElementById("idofpivotcontrol").winControl;
            var pivotControlLength = pivotControl.items.length;
            var selectedIndex = pivotControl.selectedIndex;
        });
    }
于 2014-06-04T13:08:32.933 回答