Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Xamarin图像源未在Android上显示_C#_Xamarin_Xamarin.android - Fatal编程技术网

C# Xamarin图像源未在Android上显示

C# Xamarin图像源未在Android上显示,c#,xamarin,xamarin.android,C#,Xamarin,Xamarin.android,我有一个使用PCL的跨平台应用程序,您可以使用相机拍照,图像保存到本地db(稍后在其他地方同步)。应用程序还加载最后一幅图像,并将其显示在屏幕上,源绑定到视图模型 这在iOS上非常有效,但Android不会显示绑定图像 我已经测试过,通过将源代码设置为“icon.png”,我可以在android上显示一幅图像 Xaml 请注意:我曾试图在Xamarin论坛和stack overflow上找到解决方案,但这里的类似问题并不相同,它们的解决方案似乎没有帮助。似乎这些问题中的大多数都是由于访问本地资源

我有一个使用PCL的跨平台应用程序,您可以使用相机拍照,图像保存到本地db(稍后在其他地方同步)。应用程序还加载最后一幅图像,并将其显示在屏幕上,源绑定到视图模型

这在iOS上非常有效,但Android不会显示绑定图像

我已经测试过,通过将源代码设置为“icon.png”,我可以在android上显示一幅图像

Xaml


请注意:我曾试图在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));
        }
    }
}