async void UpdateSource()
        {
            ImageSource source = Element.Source;

            (Element as IImageController)?.SetIsLoading(true);

            if (Control != null)
            {
                bool success;
                if (source is FileImageSource fis)
                {
                    success = _image.LoadFromFile(fis.File);
                }
                else
                {
                    success = await _image.LoadFromImageSourceAsync(source);
                }

                if (!IsDisposed && success)
                {
                    (Element as IVisualElementController)?.NativeSizeChanged();
                    UpdateAfterLoading();
                }
            }

            if (!IsDisposed)
            {
                ((IImageController)Element).SetIsLoading(false);
            }
        }