WinJS: событие слайдов Pivot и PivotItem
Я пытаюсь создать приложение на Windows Phone 8.1 с WinJS 2.1 и некоторыми элементами управления Pivot. Я хочу обнаружить слайд PivotItem влево или вправо, но в соответствии с этой страницей MSDN ( http://msdn.microsoft.com/en-us/library/windows/apps/dn624879.aspx) нет события слайда, такого как "onslideleft". ". Моя цель - избежать зацикливания Pivot: когда мы дойдем до последнего PivotItem и снова сместимся влево, он вернется к первому PivotItem. Я просто хочу заблокировать скольжение влево, когда пользователь достигнет последнего PivotItem (и заблокировать скольжение вправо для первого PivotItem).
Как мне это сделать?
Спасибо вам.
2 ответа
Вы не можете достичь этого в управлении поворотом сразу, но вы можете получить направление вращения скольжения в событии selectionchange, как это,
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;
});
}