Détecter Les Simples Gestes Tactiles
Quelqu'un peut-il expliquer sur la façon de détecter simple toucher des gestes dans une application WinRT? J'ai essayé d'utiliser le GestureRecognizer
classe mais il ne fonctionne pas:
public MainPage()
{
this.InitializeComponent();
Windows.UI.Input.GestureRecognizer gr = new Windows.UI.Input.GestureRecognizer();
gr.CrossSliding += gr_CrossSliding;
gr.Dragging += gr_Dragging;
gr.Holding += gr_Holding;
gr.ManipulationCompleted += gr_ManipulationCompleted;
gr.ManipulationInertiaStarting += gr_ManipulationInertiaStarting;
gr.ManipulationStarted += gr_ManipulationStarted;
gr.ManipulationUpdated += gr_ManipulationUpdated;
gr.RightTapped += gr_RightTapped;
gr.Tapped += gr_Tapped;
gr.GestureSettings = Windows.UI.Input.GestureSettings.ManipulationRotate | Windows.UI.Input.GestureSettings.ManipulationTranslateX | Windows.UI.Input.GestureSettings.ManipulationTranslateY |
Windows.UI.Input.GestureSettings.ManipulationScale | Windows.UI.Input.GestureSettings.ManipulationRotateInertia | Windows.UI.Input.GestureSettings.ManipulationScaleInertia |
Windows.UI.Input.GestureSettings.ManipulationTranslateInertia | Windows.UI.Input.GestureSettings.Tap;
}
void gr_Tapped(Windows.UI.Input.GestureRecognizer sender, Windows.UI.Input.TappedEventArgs args)
{
Debug.WriteLine("gr_Tapped");
}
void gr_RightTapped(Windows.UI.Input.GestureRecognizer sender, Windows.UI.Input.RightTappedEventArgs args)
{
Debug.WriteLine("gr_RightTapped");
}
void gr_Holding(Windows.UI.Input.GestureRecognizer sender, Windows.UI.Input.HoldingEventArgs args)
{
Debug.WriteLine("gr_Holding");
}
void gr_Dragging(Windows.UI.Input.GestureRecognizer sender, Windows.UI.Input.DraggingEventArgs args)
{
Debug.WriteLine("gr_Dragging");
}
void gr_CrossSliding(Windows.UI.Input.GestureRecognizer sender, Windows.UI.Input.CrossSlidingEventArgs args)
{
Debug.WriteLine("gr_CrossSliding");
}
void gr_ManipulationUpdated(Windows.UI.Input.GestureRecognizer sender, Windows.UI.Input.ManipulationUpdatedEventArgs args)
{
Debug.WriteLine("gr_ManipulationUpdated");
}
void gr_ManipulationStarted(Windows.UI.Input.GestureRecognizer sender, Windows.UI.Input.ManipulationStartedEventArgs args)
{
Debug.WriteLine("gr_ManipulationStarted");
}
void gr_ManipulationCompleted(Windows.UI.Input.GestureRecognizer sender, Windows.UI.Input.ManipulationCompletedEventArgs args)
{
Debug.WriteLine("gr_ManipulationCompleted");
}
void gr_ManipulationInertiaStarting(Windows.UI.Input.GestureRecognizer sender, Windows.UI.Input.ManipulationInertiaStartingEventArgs args)
{
Debug.WriteLine("gr_ManipulationInertiaStarting");
}
- Je ne vois pas où vous avez ajouté un gestionnaire à l'Taraudés de l'événement.
Vous devez vous connecter pour publier un commentaire.
Si vous remarquerez que la page d'accueil de Classe a ses propres Événements de Manipulation que vous pouvez utiliser sans la création d'une salle de
GestureRecognizer
. Vous pouvez l'activer par la mise enthis.ManipulationMode
àManipulationModes.All
. Cela vous permettra de voir les réponses sur le MainPagesTapped
,RightTapped
,ManipulationStarting
,ManipulationStarted
,ManipulationDelta
etManipulationCompleted
Événements.Dans le GestureRecongnizer de travailler selon cette Blog et ce MSDN Forum vous aurez besoin pour gérer la page d'accueil du
PointerMoved
,PointerReleased
etPointerPressed
événements comme si.Selon la La Documentation vous devez activer le CrossSlide Événement en l'ajoutant à votre GestureRecongnizer et de la configuration de l' CrossSlideThresholds et de la Direction.
Depuis le dernier lien:
exemple:
et assurez-vous qu'il est ajouté à votre
GestureSettings