public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var viewModel = (BookInfoPageViewModel) value; if (viewModel.Book != null) { var converter = new BookImagePathToSourceConverter(); return converter.Convert(viewModel.Book, targetType, true, culture); } return new TaskCompletionNotifier<BitmapImage>(Task.Run(async () => { var taskCompletionSource = new TaskCompletionSource<BitmapImage>(); Execute.OnUIThread(() => taskCompletionSource.SetResult(viewModel.ImageUrl != null ? new BitmapImage(viewModel.ImageUrl) : null)); return await taskCompletionSource.Task; })); }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { var viewModel = (BookInfoPageViewModel)value; if (viewModel.Book != null) { var converter = new BookImagePathToSourceConverter(); return(converter.Convert(viewModel.Book, targetType, true, culture)); } return(new TaskCompletionNotifier <BitmapImage>(Task.Run(async() => { var taskCompletionSource = new TaskCompletionSource <BitmapImage>(); Execute.OnUIThread(() => taskCompletionSource.SetResult(viewModel.ImageUrl != null ? new BitmapImage(viewModel.ImageUrl) : null)); return await taskCompletionSource.Task; }))); }