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.

Était-ce utile?

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)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top