Poignée Balayez, Balayez vers le Bas, faites Glisser vers la Gauche & Balayez vers la Droite à des Gestes dans une application WinRT
J'ai le code suivant:
public MainPage()
{
this.InitializeComponent();
this.ManipulationStarting += MainPage_ManipulationStarting;
this.ManipulationStarted += MainPage_ManipulationStarted;
this.ManipulationInertiaStarting += MainPage_ManipulationInertiaStarting;
this.ManipulationDelta += MainPage_ManipulationDelta;
this.ManipulationCompleted += MainPage_ManipulationCompleted;
}
void MainPage_ManipulationStarting(object sender, ManipulationStartingRoutedEventArgs e)
{
Debug.WriteLine("MainPage_ManipulationStarting");
}
void MainPage_ManipulationStarted(object sender, ManipulationStartedRoutedEventArgs e)
{
Debug.WriteLine("MainPage_ManipulationStarted");
}
void MainPage_ManipulationInertiaStarting(object sender, ManipulationInertiaStartingRoutedEventArgs e)
{
Debug.WriteLine("MainPage_ManipulationInertiaStarting");
}
void MainPage_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
{
Debug.WriteLine("MainPage_ManipulationDelta");
}
void MainPage_ManipulationCompleted(object sender, ManipulationCompletedRoutedEventArgs e)
{
Debug.WriteLine("MainPage_ManipulationCompleted");
}
Mais je n'ai aucune idée sur la façon d'utiliser les événements de Manipulation. Pouvez-vous quelqu'un décrivent comment gérer les gestes balayez vers le haut, le bas, la gauche et la droite?
Je n'ai pas travaillé avec WinRT gestes, mais un rapide coup d'oeil à la MSDN je parie que vous pourriez accéder aux différentes propriétés de la arguments au cours de la
Delta
(ou autres) des événements. Par exemple ManipulationDeltaRoutedEventArgs.Velocities
a un ensemble de données concernant la direction/angulaire/mise à l'échelle des entrées de l'utilisateur. Je ne peux pas dire si c'est "l'un" que vous devriez regarder, mais peut-être que ça va vous donner un début.OriginalL'auteur Elmo | 2012-09-28
Vous devez vous connecter pour publier un commentaire.
Événements de Manipulation de vous fournir les valeurs de traduction. La Manipulation Delta feu continu jusqu'à ce que votre manipulation terminée avec l'inertie. Dans ce cas de vérifier si le passage est inertiel, (un coup normal ne devraient pas être considérés comme de balayage) et de détecter la différence entre la formation initiale et la position actuelle.
Une fois qu'il atteint le seuil de la, feu le glisser vers le haut/bas/gauche/droite de l'événement. Et arrêter la manipulation immédiatement pour éviter les tirs de la même manifestation, encore et encore.
Code suivant va vous aider,
e.Cumulative.Translation.X
.Je trouve que l'e.IsInertial est toujours faux des idées?
OriginalL'auteur Jawahar
J'ai essayé de répondre en XAML amant, mais il n'en était pas précis pour moi (IsIntertial revenait toujours faux pour moi). J'ai mis en place quelque chose de différent (j'ai répondu à un précédent post d'un sujet connexe ici La manipulation de Balayage Guesture dans Windows 8 Grille) pour quelqu'un qui voulait essayer quelque chose de différent.
OriginalL'auteur drcoderz
Prendre un coup d'oeil à GestureRecognizer.CrossSliding événement.
Il est également EdgeGesture classe, et des échantillons: EdgeGesture échantillon, les gestes de l'échantillon.
OriginalL'auteur maxim pg