using System; using System.Threading.Tasks; #if WINDOWS_UWP namespace Xamarin.Forms.Platform.UWP #else namespace Xamarin.Forms.Platform.WinRT #endif { public class ImageConverter : Windows.UI.Xaml.Data.IValueConverter { public object Convert(object value, Type targetType, object parameter, string language) { var source = (ImageSource)value; IImageSourceHandler handler; if (source != null && (handler = Registrar.Registered.GetHandler(source.GetType())) != null) { Task task = handler.LoadImageAsync(source); return new AsyncValue(task, null); } return null; } public object ConvertBack(object value, Type targetType, object parameter, string language) { throw new NotSupportedException(); } } }