Pergunta

Estou escrevendo um aplicativo universal e preciso processar a inércia de manipulação em ManipualtionDelta corretamente.Obtenho valores normais durante a manipulação, MAS a parte inercial é sempre zero (rotação e translação).Parece que isso acontece apenas no Windows Phone, já que no Windows 8.1 parece bom.Para evitar perguntas, defino ManipulationModes.All.

Foi útil?

Solução

Eu testei.A inércia certamente está presente no 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>

Com isso:

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

Não tenho certeza do problema.Espero que meu código ajude.

Boa sorte!

Outras dicas

Não use Delta.Translation sob inércia.É um valor calculado, dependente do tempo decorrido desde a execução do evento anterior.Freqüentemente, o primeiro é (0,0).

Em vez disso, faça algo assim

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

As velocidades estão em LPX/ms (pixels lógicos por milissegundo) multiplique -o por ~ 400 para obter uma estimativa em que a inércia o traria.

Os seguintes itens não são suportados na plataforma Windows Phone:

  • A propriedade ISManipulaçãoLabled não é suportada.Eventos de manipulação são ativados por padrão no Windows Phone.
  • rotacionam transformações não são suportadas.
  • eventos de inércia não são suportados.

http://technet.microsoft.com/pt-us / windows / ff426933 (v= vs.96)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top