防止滚动的最后一项的全景项目或枢纽项目wp7c#
本文关键字:项目 wp7c# 全景 一项 滚动 最后 | 更新日期: 2023-09-27 18:02:12
我有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。在WP7.0上应该可以使用FrameReported Event。因此,它有可能工作。
您必须添加对Microsoft.Xna.Framework.Input.Touch
汇编的引用。
我还添加了detectRightGesture
,这样枢轴就不会在小的垂直拖动上切换,如果需要的话,这是一个测试问题。