Pregunta

Estoy escribiendo una aplicación universal y necesito procesar la inercia de manipulación en ManipualtionDelta correctamente.Obtengo valores normales cuando la manipulación, pero la parte inercial es siempre cero (tanto la rotación como la traducción).Se costuras que esto sucede solo en Windows Phone, como en Windows 8.1, se costura bien. Para evitar preguntas, configuro Mermos de manipulación. Todo.

¿Fue útil?

Solución

Lo probé.Inercia está presente en 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>

con esto:

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;
}

No estoy seguro del problema.Espero que mi código ayude.

¿La mejor de las suertes!

Otros consejos

No use Delta.Translation en inercia.Es un valor calculado, dependiente de la cantidad de tiempo aprobada desde que se ejecutó el evento anterior.Tan a menudo la primera es (0,0).

en lugar de hacer algo como este

if (e.IsInertial) {
    ComputeMyOwnInertia(e.Velocities)
    e.Complete(); // no more inertial events
}

Velocities está en LPX / MSEC (píxeles lógicos por milisegundo) Multipliquelo por ~ 400 para obtener una estimación donde la inercia lo traería.

Los siguientes elementos no son compatibles con la plataforma Windows Phone:

  • La propiedad isManipulationEnabled no es compatible.Los eventos de manipulación están habilitados de forma predeterminada en Windows Phone.
  • no se admiten transformadas de rotación.
  • Eventos de inercia no son compatibles.

http://technet.microsoft.com/EN-US / Windows / FF426933 (v= vs.96)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top