Два обработчика (Touch и Pinch) на SKCanvas Xamarin
Всем привет пишу своё первое приложение на Xamarin и у меня возникла возможно нестадартная проблема у меня есть
<skia:SKCanvasView x:Name="canvasView" Grid.RowSpan="2" PaintSurface="OnCanvasViewPaintSurface" EnableTouchEvents="True"> </skia:SKCanvasView>
я реализовал отличную механику отслеживания координат нажатия мне помог TouchTracker Однако у меня возникла необходимость отслеживания жеста увеличения и тут начался конфликт) события одного обработчика перехватывают события другого (в результате конфликта я нашел более простое событие Touch из SKTouchEventArgs, но от этого проблемы не ушли)
private void OnTouching(object sender, SKTouchEventArgs e)
{
switch (e.ActionType)
{
case SKTouchAction.Released:
Debug.Write("Палец отжат!");
break;
case SKTouchAction.Moved:
Debug.Write("Движение!");
if (Pressed == true)
{
Moved = true;
}
break;
case SKTouchAction.Pressed:
Debug.Write("Палец нажат");
Pressed = true;
Moved = false;
break;
}
e.Handled = true;
}
после добавления
var pinchGesture = new PinchGestureRecognizer(); pinchGesture.PinchUpdated += (s, e) =>{ Debug.WriteLine("PinchTracked"); // // DisplayAlert("Жест увеличения ", "Вы нажали на: {listSvgHelper[i].Name}", "ОК"); };
В зависимости закомментирована ли эта строка e.Handled = true; илии нет работают один обработчик или оба (но один с ограничениями)
как выйти из ситуации