我有n个枢轴项目。如何停止从最后一项滚动到第一项。任何帮助将不胜感激。
我不确定是否可行,因此正如Ulugbek Umirov在评论中所说-它取决于操作系统版本。我现在没有模拟器可以尝试,但是您可以尝试这样做:
public MainPage()
{
InitializeComponent();
myPivot.IsHitTestVisible = false; // disable your Pivot
Touch.FrameReported += Touch_FrameReported;
TouchPanel.EnabledGestures = GestureType.HorizontalDrag;
}
TouchPoint first;
private const int detectRightGesture = 20;
private void Touch_FrameReported(object sender, TouchFrameEventArgs e)
{
TouchPoint mainTouch = e.GetPrimaryTouchPoint(this);
if (mainTouch.Action == TouchAction.Down)
first = mainTouch;
else if (mainTouch.Action == TouchAction.Up && TouchPanel.IsGestureAvailable)
{
if (mainTouch.Position.X - first.Position.X < -detectRightGesture)
{
if (myPivot.SelectedIndex < myPivot.Items.Count - 1)
myPivot.SelectedIndex++;
}
else if (mainTouch.Position.X - first.Position.X > detectRightGesture)
{
if (myPivot.SelectedIndex > 0)
myPivot.SelectedIndex--;
}
}
}
根据MSDN,TouchPanel应该在WP7.1中可用,而Touch.FrameReported事件应该在WP7.0中可用。因此,有可能会起作用。
您必须添加对Microsoft.Xna.Framework.Input.Touch
程序集的引用。
我还添加了一个选项,detectRightGesture
以使Pivot不会在较小的垂直拖动上打开,这是否需要测试是一个问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句