void mapView_ManipulationDelta(object sender, ManipulationDeltaEventArgs e) { ShowZoneView zoneView = sender as ShowZoneView; if (zoneView == null || !canMapBeTriggered) { return; } if (Math.Abs(e.CumulativeManipulation.Translation.Y) < 15) { e.Handled = true; if (e.CumulativeManipulation.Translation.X < -10) { Size size = zoneView.RenderSize; Point center = zoneView.PointToScreen(new Point(zoneView.ActualWidth / 2, zoneView.ActualHeight / 2)); canMapBeTriggered = false; e.Complete(); OnAddMapCommand(center, size); } } else { canMapBeTriggered = false; } }