/// <summary> /// Since Xamarin does not remove default transformations, we need to simply remove and create new AtomZoomView /// with new AtomImage /// </summary> private void RecreateImage() { this.IsClippedToBounds = false; croppedImage.PropertyChanged -= OnImagePropertyChanged; zoomView.PropertyChanged -= OnZoomViewPropertyChanged; cropContainer.Children.Remove(zoomView); //Debug.WriteLine($"zoomView is reset correctly"); zoomView = new AtomZoomView(); croppedImage = new AtomImage(); croppedImage.PropertyChanged += OnImagePropertyChanged; zoomView.PropertyChanged += OnZoomViewPropertyChanged; zoomView.Content = croppedImage; cropContainer.Children.Add(zoomView); zoomView.SetBinding(AtomZoomView.IsEnabledProperty, new Binding() { Path = nameof(CanUndo), Source = this, Converter = NegateBooleanConverter.Instance }); }
private void EndPan(AtomZoomView element, float x, float y) { element.OnPanUpdated(this, new PanUpdatedEventArgs(GestureStatus.Completed, 0, x, y)); _panStarted = false; }