L'inertie de manipulation toujours zéro dans Windows Phone 8.1
-
26-12-2019 - |
Question
J'écris une application universelle et j'ai besoin de traiter l'inertie de manipulation à ManipualtionDelta correctement.Je reçois des valeurs normales lorsque la manipulation, mais la partie inertielle est toujours zéro (rotation et traduction).Il se souvient que cela ne se produit que dans Windows Phone, comme dans Windows 8.1, il est amené. Pour prévenir les questions, je fixe des manipulationsModes.Tous.
La solution
Je l'ai testé.L'inertie est certainement présente dans Windows Phone 8.1
<Grid>
<Ellipse Width="100"
Height="100"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Fill="White"
ManipulationDelta="Ellipse_ManipulationDelta"
ManipulationMode="All">
<Ellipse.RenderTransform>
<CompositeTransform />
</Ellipse.RenderTransform>
</Ellipse>
</Grid>
avec ceci:
private void Ellipse_ManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
{
var trasnform = (sender as FrameworkElement).RenderTransform as CompositeTransform;
trasnform.TranslateX += e.Delta.Translation.X;
trasnform.TranslateY += e.Delta.Translation.Y;
}
Je ne sais pas le problème.J'espère que mon code aide.
Bonne chance!
Autres conseils
N'utilisez pas delta.Translation sous inertie.Il s'agit d'une valeur calculée dépend du temps passé depuis l'exécution de l'événement précédent.Si souvent le premier est (0,0).
plutôt faire quelque chose comme ça
if (e.IsInertial) {
ComputeMyOwnInertia(e.Velocities)
e.Complete(); // no more inertial events
}
Les vitesses sont en LPX / MSEC (pixels logiques par miliseconde) Multipliez-le par ~ 400 pour obtenir une estimation où l'inertie vous apporterait.
Les éléments suivants ne sont pas pris en charge sur la plate-forme Windows Phone:
- La propriété ismanipulédoyable n'est pas prise en charge.Les événements de manipulation sont activés par défaut sur Windows Phone.
- Tourner les transformations ne sont pas supportées.
- Les événements d'inertie ne sont pas pris en charge.
http://technet.microsoft.com/EN-US / WINDOWS / FF426933 (V= VS.96)