Domanda

Sto scrivendo un'app universale e ho bisogno di elaborare correttamente l'inerzia di manipolazione in ManipualtionDelta.Ottengo valori normali quando la manipolazione, ma la parte inerziale è sempre zero (sia rotazione che traduzione).Sega che ciò accade solo in Windows Phone, come in Windows 8.1 cuciture. Per evitare domande, impostare ManipulationModes.All.

È stato utile?

Soluzione

L'ho testato.L'inerzia è certamente presente in 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 questo:

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

Non sono sicuro del problema.Spero che il mio codice ti aiuti.

Best fortuno!

Altri suggerimenti

Non usare Delta.Translation in Inertia.È un valore calcolato, dipende dalla quantità di tempo passata dal momento che è stato eseguito l'evento precedente.Così spesso il primo è (0,0).

invece fai qualcosa come questo

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

Velocità è in LPX / MSEC (pixel logici per milisecond) Moltiplicalo di ~ 400 per ottenere una stima in cui l'inerzia ti porterà.

I seguenti elementi non sono supportati sulla piattaforma Windows Phone:

    .
  • La proprietà ismanipulableabled non è supportata.Gli eventi di manipolazione sono abilitati per impostazione predefinita su Windows Phone.
  • Ruota le trasformazioni non sono supportate.
  • Gli eventi inerzia non sono supportati.

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top