C# Xamarin图像源未在Android上显示
我有一个使用PCL的跨平台应用程序,您可以使用相机拍照,图像保存到本地db(稍后在其他地方同步)。应用程序还加载最后一幅图像,并将其显示在屏幕上,源绑定到视图模型 这在iOS上非常有效,但Android不会显示绑定图像 我已经测试过,通过将源代码设置为“icon.png”,我可以在android上显示一幅图像 XamlC# Xamarin图像源未在Android上显示,c#,xamarin,xamarin.android,C#,Xamarin,Xamarin.android,我有一个使用PCL的跨平台应用程序,您可以使用相机拍照,图像保存到本地db(稍后在其他地方同步)。应用程序还加载最后一幅图像,并将其显示在屏幕上,源绑定到视图模型 这在iOS上非常有效,但Android不会显示绑定图像 我已经测试过,通过将源代码设置为“icon.png”,我可以在android上显示一幅图像 Xaml 请注意:我曾试图在Xamarin论坛和stack overflow上找到解决方案,但这里的类似问题并不相同,它们的解决方案似乎没有帮助。似乎这些问题中的大多数都是由于访问本地资源
请注意:我曾试图在Xamarin论坛和stack overflow上找到解决方案,但这里的类似问题并不相同,它们的解决方案似乎没有帮助。似乎这些问题中的大多数都是由于访问本地资源造成的,但这不应该在这里应用,因为我的源代码直接来自一个bite数组结果表明,这是由于Android摄像头图像生成的字节数组太大,无法绑定到视图(仅限Android问题)。减小图像大小/质量修复了该问题。欢迎使用堆栈溢出!很高兴看到一个新的(ish)用户显示代码并提出明确的问题。我给了你一票来帮助你。你可以通过展示你在Xamarin论坛和Stack Overflow上的发现来进一步改进你的问题。然后解释它是如何起作用的。(“我尝试了[这里]描述的X,但……”或“它说[这里]我应该使用X,但这对我的情况没有帮助,因为……”)。那你的问题就到此为止了。祝你好运谢谢,我添加了更多的信息
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Image HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" Aspect="AspectFit" BackgroundColor="Green" Source="{Binding CameraImage}"/>
<Button Grid.Row="1" Text="Take Picture" Command="{Binding GetPhoto}"/>
</Grid>
public void LoadLatestImage(object sender, EventArgs e)
{
var imageDBO = DatabaseHelpers.LocalDatabase.Table<ImageDBO>().OrderByDescending(i => i.DateCreated).FirstOrDefaultAsync().Result;
if (imageDBO != null)
{
CameraImage = ImageSource.FromStream(() => { return new MemoryStream(imageDBO.ImageData); });
}
}
private ImageSource _cameraImage;
public ImageSource CameraImage
{
get { return _cameraImage; }
set
{
if (_cameraImage != value)
{
_cameraImage = value;
OnPropertyChanged(nameof(CameraImage));
}
}
}