我在页面中有一个Pivot控件。
<controls:Pivot x:Name="pvtSearchFlights">
<toolkit:GestureService.GestureListener>
<toolkit:GestureListener DragCompleted="GestureListener_DragCompleted" Flick="GestureListener_Flick" />
</toolkit:GestureService.GestureListener>
<controls:PivotItem x:Name="pvtItemCurrent">
<StackPanel Height="700" Background="AliceBlue">
</StackPanel>
</controls:PivotItem>
<controls:PivotItem x:Name="pvtItemNext">
<StackPanel Height="700" Background="Red">
</StackPanel>
</controls:PivotItem>
<controls:PivotItem x:Name="pvtItemPrevious">
<StackPanel Height="700" Background="Green">
</StackPanel>
</controls:PivotItem>
</controls:Pivot>
在这里,我可以通过以下代码找到是否正确或左侧轻弹:
private void GestureListener_Flick(object sender, FlickGestureEventArgs e)
{
if (e.Angle > 90 && e.Angle < 270)
{
txtTest.Text = "right";
}
else
{
txtTest.Text = "left";
}
}
如果我拖动枢轴枢轴控件,则枢轴项目正在更改但不会触发GestureListener_Flick事件,因为它是一个拖动事件(此处它触发了GestureListener_DragCompleted事件)。因此,当我拖动时,我必须找到它是向左还是向右拖?
这里我的主要目的是找出枢轴是从右向左还是从左向右移动?
如何查找是向左还是向右拖动?
提前致谢。
答案 0 :(得分:2)
如何存储Pivot的当前索引并添加SelectionChanged事件处理程序,然后只比较旧存储的索引和来自事件的新索引?
如果diff“new - old”为gt 0,则为右侧,如果diff为lt 0,则为向左。当old或new为0时,你必须处理特殊状态。