如何显示在Xamarin的图像从图像源窗体的ImageCell?(How do I display

2019-09-29 18:46发布

我想在Xamarin表我的形象电池的正面显示图像。 特别是我在iOS中的时刻尝试这一点,我已经添加图像到我的iOS项目的资源文件夹,并确保该图像文件被设置为“BundledResource。 该图像是不属于任何特定的大小(这是相当大的时刻)。

我通过一个MVVM方法创建我所有的表格单元格,所以我有一个工厂,创建单元格如下:

return new ImageCell() { ImageSource = "logo.png" };

我已经硬编码的图像源还是现在作为一个本地的PNG图像这是不是为60x60(做这件事?)。

在显示时,不出现占位符图像或图像本身。 我需要的地方设置附加标志来显示呢? 有没有保证金在我的表视图中显示它。

编辑:我的形象电池工厂的代码如下所示:

public class ImageCellFactory : CellFactory<ImageCellViewModel>
{
    protected override Cell OnCreateCell(ImageCellViewModel model)
    {
        return new ImageCell();
    }

    protected override void OnSetBindings(Cell cell)
    {

        cell.SetBinding(TextCell.TextProperty, "Text");
        cell.SetBinding(TextCell.DetailProperty, "Detail");
        cell.SetBinding(ImageCell.ImageSourceProperty, new Binding("Icon", BindingMode.OneWay));
    }
}

我试过直接设置图像源按我以前的代码(从而消除绑定等)。 我试着和无约束力的设定模式。 我可以看到,ImageSource的是创建FileImageSource的实例,我甚至设定的图标是30×30,以防万一有帮助。

对于视图模型的“图标”属性我已经试过ImageSource的,只是一条直线的字符串来调用标准转换器。

即使有一个直接的TableView定义设置在XAML中,没有搞笑的业务代码隐藏我的图片不会出现。

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="TesterApp.CodedTableView">
<ContentPage.Content>
    <TableView>
        <TableSection>  
            <ImageCell Text="My Logo" ImageSource="logo.jpg"/>  
        </TableSection>
    </TableView>
</ContentPage.Content>

我的标志是在我的iOS应用程序项目的“资源”文件夹,并设置为捆绑的资源。 上述图像源是文件名和扩展的确切壳体。

文章来源: How do I display an image in a Xamarin Forms ImageCell from an image source?