C# 如何在Windows Phone 8.1中处理水平滑动事件?
我正在尝试在下面的应用程序中实现一个水平滑动事件处理程序。但是,C# 如何在Windows Phone 8.1中处理水平滑动事件?,c#,windows-phone,windows-phone-8.1,swipe,C#,Windows Phone,Windows Phone 8.1,Swipe,我正在尝试在下面的应用程序中实现一个水平滑动事件处理程序。但是,gr\u交叉滑动交叉滑动事件处理程序从不触发 我需要做什么才能发射gr_crossslidering public sealed partial class MainPage : Page { private GestureRecognizer gr; public MainPage() { this.InitializeComponent(); gr = new Gest
gr\u交叉滑动
交叉滑动事件处理程序从不触发
我需要做什么才能发射gr_crossslidering
public sealed partial class MainPage : Page
{
private GestureRecognizer gr;
public MainPage()
{
this.InitializeComponent();
gr = new GestureRecognizer();
gr.GestureSettings = GestureSettings.CrossSlide;
gr.CrossSlideHorizontally = true;
gr.CrossSliding += gr_CrossSliding;
}
void gr_CrossSliding(GestureRecognizer sender, CrossSlidingEventArgs args)
{
// handle swipe event
}
}
您需要在获取手势的UI元素的处理程序上设置手势识别器 在本例中,我使用的是一个网格(GrdFoto)
使用GestureRecognizer后,您必须使用指针事件(按下/移动/关闭)并将信息传递给GestureRecognizer。也许会有帮助。我一直在尝试这个答案,但毫无用处。不管怎样,我都不能让格鲁滑倒开火。指针事件可以正常触发,但不是滑动。无需担心。。。。。我让它工作了
public MainPage()
{
this.InitializeComponent();
gestureRecognizer.GestureSettings = Windows.UI.Input.GestureSettings.Drag;
gestureRecognizer.Dragging += gestureRecognizer_Dragging;
GrdFoto.PointerPressed += GrdFoto_PointerPressed;
GrdFoto.PointerMoved += GrdFoto_PointerMoved;
GrdFoto.PointerReleased += GrdFoto_PointerReleased;
GrdFoto.PointerCanceled += GrdFoto_PointerCanceled;
}
void GrdFoto_PointerPressed(object sender, PointerRoutedEventArgs e)
{
this.gestureRecognizer.ProcessDownEvent(e.GetCurrentPoint(this.GrdFoto));
this.GrdFoto.CapturePointer(e.Pointer);
e.Handled = true;
}
void GrdFoto_PointerMoved(object sender, PointerRoutedEventArgs e)
{
this.gestureRecognizer.ProcessMoveEvents(e.GetIntermediatePoints(this.GrdFoto));
}
void GrdFoto_PointerReleased(object sender, PointerRoutedEventArgs e)
{
this.gestureRecognizer.ProcessUpEvent(e.GetCurrentPoint(this.GrdFoto));
e.Handled = true;
}
void GrdFoto_PointerCanceled(object sender, PointerRoutedEventArgs e)
{
this.gestureRecognizer.CompleteGesture();
e.Handled = true;
}
void gestureRecognizer_Dragging(GestureRecognizer sender, DraggingEventArgs args)
{
// Drag completed.
}