windows phone 8.1-WinJS:Pivot和PivotItem幻灯片事件



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

我该怎么做?

谢谢你。

您不能直接在枢轴控制中实现这一点,但您可以在像这样的Selectonchange事件中获得枢轴滑动方向,

document.getElementById("PivotID").addEventListener("selectionchanged", swipehandler);
function swipehandler(evt) {
      var direction = evt.detail.direction;  // 'forward' or 'backwards'
}

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

不确定这是否是您想要的,但您可以在选择更改时检查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;
        });
    }

最新更新