В течение 2 дней я безуспешно пытался отобразить изображение на своем Xaml из форм MVVM Xamarin.Буду признателен, если кто-нибудь сможет мне помочь с этим вопросом.Вот мой код:
XAML
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Image Source="{Binding GetImageSource}" Grid.Column="0" Grid.Row="0" HorizontalOptions="Center" />
<Image Source="camera.png" HorizontalOptions="Center" Grid.Column="0" Grid.Row="1">
<Image.GestureRecognizers>
<TapGestureRecognizer Command="{Binding TakePhoto}" />
</Image.GestureRecognizers>
</Image>
</Grid>
Моя ViewModel
Использование Plugin.Media (Выбратьизображение из галереи)
Я использовал TapGestureRecognizer
, который работает нормально
private ImageSource imageSource { get; set; }
public ImageSource GetImageSource
{
get { return imageSource; }
set
{
imageSource = value;
}
}
if (!CrossMedia.Current.IsPickPhotoSupported)
{
var message = "Picking image is not supported";
DependencyService.Get<IMessage>().ShortAlert(message);
return;
}
var files = await CrossMedia.Current.PickPhotoAsync();
if (files == null)
return;
GetImageSource = ImageSource.FromStream(() =>
{
var stream = files.GetStream();
return stream;
});
var ms = new MemoryStream();
files.GetStream().CopyTo(ms);
files.Dispose();
imgAsBytes = ms.ToArray();
ms.Dispose();
Мне удалось получить изображение в байтах, что нормально,но я не могу отобразить изображение.Заранее спасибо за вашу поддержку.