Windows Phone - wykrywanie przesunięć Góra, Dół, Lewo i Prawo

0

Witam szukałem wszędzie, ale po prostu nie mogę znaleźć jak wykrywać przesunięcia w lewo,prawo,górę i dół.
Miałem aplikację na desktopa i chciałem ją przerobić na telefon. Problem jest jeden - na telefonie zamiast strzałek muszę mieć przesunięcia - klikam w punkt A przesuwam do punktu B i puszczam i wykrywam jakie to przesuniecie.

Mógłby ktoś wstawić może linka do strony gdzie jest to opisane lub wstawić przykład dla obsługi, którejś strony?

1

http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff967546%28v=vs.105%29.aspx

Możesz sobie przejrzeć jak działa przykładowy kod z WPToolkit, który realizuje to samo, co w WP7 robił GestureService: http://phone.codeplex.com/SourceControl/latest#PhoneToolkitSample8/Samples/GestureSample.xaml.cs - opakowuje ManipulationData w gesty Drag, Pinch i Flick.

0

Dzięki wielkie, poczytałem trochę i zrobiłem coś takiego :)
Może komuś się przyda.


private initialPoint = new Point();

private void PhoneApplicationPage_ManipulationStarted(object sender, ManipulationStartedEventArgs e)
{
        initialPoint.X = e.ManipulationOrigin.X;
        initialPoint.Y = e.ManipulationOrigin.Y;
}

private void PhoneApplicationPage_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{
    int X = int.Parse((e.ManipulationOrigin.X - initialPoint.X).ToString());
    int Y = int.Parse((e.ManipulationOrigin.Y - initialPoint.Y).ToString());

    int tempX = X;
    int tempY = Y;

    if(Y < 0)
    {
        tempY *= -1;
    }
    if(X < 0)
    {
        tempX *= -1;
    }
    // Sprawdzamy czy długość przeciągnięcia jest odpowiednia
    if(tempX < 75 && tempY < 75)
    {
        return;
    }
    // Tutaj mamy przykładowy warunek sprawdzający jeden z możliwych kierunków
    if(X < 0 && Y < 0) // left or up
    {
        if(X < Y)
        {
            LeftDrag();
        }
        if(Y < X)
        {
            UpDrag();
        }

        e.Complete(); // Kończymy "przeciąganie" - żeby nie było sytuacji, że pociągniemy w lewo, a potem w prawo i zaliczy oba
        return;
    }

}

1 użytkowników online, w tym zalogowanych: 0, gości: 1