2014-06-12 2 views
0

Я пытаюсь анимировать изображение, основанное на позиции элементов, расположенных на поворотах.ManipulationDelta только на одном пункте поворота

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

Моя проблема связана с событием ManipulationDelta, это событие вызывается только один раз на элемент поворота, независимо от того, насколько много манипулирует элементом управления поворотом.

Кто-нибудь знает способ сделать так, чтобы элементы управления событиями ManpulationDelta постоянно вызывались при манипулировании?

ответ

0

Возможно, ваш Pivot перехватил дальнейшие события. Вы можете попытаться сделать такую ​​вещь - отключите Pivot (тогда ваши манипуляции должны работать) и смените PivotItems вручную, например, используя TouchPanel и Touch.FrameReported. Код примера:

public MainPage() 
{ 
    InitializeComponent(); 
    myPivot.IsHitTestVisible = false; // disable your Pivot 
    Touch.FrameReported += Touch_FrameReported; 
    TouchPanel.EnabledGestures = GestureType.HorizontalDrag; 
} 

TouchPoint first; 
private const int detectRightGesture = 20; 

private void Touch_FrameReported(object sender, TouchFrameEventArgs e) 
{ 
    TouchPoint mainTouch = e.GetPrimaryTouchPoint(this); 
    if (mainTouch.Action == TouchAction.Down) 
     first = mainTouch; 
    else if (mainTouch.Action == TouchAction.Up && TouchPanel.IsGestureAvailable) 
    { 
     if (mainTouch.Position.X - first.Position.X < -detectRightGesture) 
     { 
      if (myPivot.SelectedIndex < myPivot.Items.Count - 1) myPivot.SelectedIndex++; 
      else myPivot.SelectedIndex = 0; 
     } 
     else if (mainTouch.Position.X - first.Position.X > detectRightGesture)   
     { 
      if (myPivot.SelectedIndex > 0) myPivot.SelectedIndex--; 
      else myPivot.SelectedIndex = myPivot.Items.Count - 1; 
     } 
    } 
} 
+0

Это работает в определенной степени, но вы теряете ручную манипуляцию с поворотным управлением. Приветствия в любом случае это помогло мне в качестве отправной точки. –

+0

@TomWiddowson Да, если вы не хотите, чтобы Pivot перехватывал события, вы должны отключить его. Я рад, что это помогло как-то;) – Romasz

Смежные вопросы