2014-09-30 4 views
0

В моем проекте, можно переместить объект (прямоугольник ...) через экран с помощью манипуляции дельты, как показано ниже:Получение направления манипулирования дельты

rectangle.TranslateX += e.Delta.Translation.X; 
rectangle.TranslateY += e.Delta.Translation.Y; 

Как я могу получить направление (справа, слева, вверх, вниз) при перемещении объекта? Мне нужно получить эту информацию, пока объект перемещен.

ответ

0

Что такое e.Delta.Translation.X, e.Delta.Translation.Y? Вы имеете в виду ...


e.DeltaManipulation.Translation.X
e.DeltaManipulation.Translation.Y

И что же такое rectangle.TranslateX, rectangle.TranslateY?

Эти вещи не существуют. Быстрый поиск того, что вы хотите сделать, показывает вам много рабочих примеров.

Например, перемещение изображения по экрану с сенсорным


<Image x:Name="myImage" Source="/Assets/ApplicationIcon.png" Stretch="None" ManipulationDelta="myImage_ManipulationDelta"> 
    <Image.RenderTransform> 
     <CompositeTransform></CompositeTransform> 
    </Image.RenderTransform> 
</Image> 

private void myImage_ManipulationDelta(object sender, System.Windows.Input.ManipulationDeltaEventArgs e) 
{ 
    Image i = sender as Image;   
    CompositeTransform ct; 
    if (i.RenderTransform is CompositeTransform) 
    { 
     ct = (CompositeTransform) i.RenderTransform; 
     ct.TranslateX += e.DeltaManipulation.Translation.X; 
     ct.TranslateY += e.DeltaManipulation.Translation.Y; 
    }   
} 
+0

Спасибо за ответ, но я думаю, что я получил ответ. Получение начальной точки объекта (в данном случае прямоугольника), при завершении движения объекта, просто получить конечную точку и вычесть начальное значение. Если я получаю отрицательное значение, остается x, и если вы останетесь положительным, это правильно, аналогично для тебя. Я использую платформу Windows Phone 8.1, о Google почти ничего не говорится. –

+1

Windows Phone не поддерживает e.DeltaManipulation.Translation.x; e.DeltaManipulation.Translation.Y; –

+0

@AlessonDanilo WP8 поддерживает e.DeltaManipulation, ваш вопрос показал, что вы используете WP8 (проверьте свои теги). Если вы используете 8.1, то правильно помечайте свой вопрос, иначе явным образом заявлю вашу платформу. Мы не можем читать ваши мысли. –