安装 FFImageLoading 图像后根本不显示

After installing FFImageLoading images don't show at all

我的 Xamarin Forms 5 应用程序将允许用户上传他们自己的图片,这些图片可能很大。我注意到大图片需要很长时间才能显示,所以我安装了 FFImageLoading 并按照位于 https://github.com/luberda-molinet/FFImageLoading/wiki/Xamarin.Forms-API.

的 Github 页面上的说明进行操作

具体来说,我安装了以下软件包:

我也初始化如下:

我第一次尝试时没有更改我的 XAML 文件中的任何内容,这意味着我使用常规 Image 控件并且图像根本不会显示。

然后我尝试了以下操作,但我什么也没看到:

...
xmlns:ffil="clr-namespace:FFImageLoading.Forms;assembly=FFImageLoading.Forms"
...
<ffil:CachedImage
   Source="{Binding FileUrl}"
   DownsampleWidth="150"
   DownsampleToViewSize="True"/>

重要提示:

我还想提一下,图像显示在 CollectionView 控件中,并且在所有情况下,它们的来源都是 URL 而不是本地路径。

知道这里可能存在什么问题以及如何解决它吗?

我检查了你的步骤,你遵循了 instructions.Obviously,你的步骤是正确的,我设法显示 image{using URL}CollectionView 正如你 所说,希望能给大家一些启发。

型号: MyModel.cs

    public class MyModel
    {
       public int id { get; set; }
       public string FileUrl { get; set; }
    }

查看: MainPage.xaml

<CollectionView ItemsSource="{Binding MyModels}">
    <CollectionView.ItemsLayout>
           <GridItemsLayout Orientation="Vertical" Span="2" />
    </CollectionView.ItemsLayout>
    <CollectionView.ItemTemplate>
        <DataTemplate>
            <ContentView Padding="0">
                <ffil:CachedImage
                        Source="{Binding FileUrl}"
                        DownsampleWidth="150"
                        DownsampleToViewSize="True"/>
            </ContentView>
        </DataTemplate>
    </CollectionView.ItemTemplate>
</CollectionView>

在后端绑定 ViewModel:

BindingContext = new MainPageViewModel();

ViewModel: MainPageViewModel.cs

    public class MainPageViewModel : INotifyPropertyChanged
   {
        public event PropertyChangedEventHandler PropertyChanged;

        private ObservableCollection<MyModel> myModels;
        public ObservableCollection<MyModel> MyModels
       {
           get { return myModels; }
           set { myModels = value; }
        }
        public MainPageViewModel()
       {
           MyModels = new ObservableCollection<MyModel>
          {
            new MyModel{id = 1, FileUrl = "http://loremflickr.com/600/600/nature?filename=simple.jpg"},
            new MyModel{id = 2, FileUrl ="http://loremflickr.com/600/600/nature?filename=simple.jpg"},
            new MyModel{id = 3, FileUrl = "http://loremflickr.com/600/600/nature?filename=simple.jpg"},
            new MyModel{id = 4, FileUrl ="http://loremflickr.com/600/600/nature?filename=simple.jpg"},
            new MyModel{id = 5, FileUrl = "http://loremflickr.com/600/600/nature?filename=simple.jpg"},
            new MyModel{id = 6, FileUrl ="http://loremflickr.com/600/600/nature?filename=simple.jpg"}
          };
       }
   }

更新: 在 Android 中有效 well.However,在 iOS 中已经报告了一个问题: github.com/luberda-molinet/FFImageLoading/issues/1498

据我所知,FFImageLoading 已不再维护。许多应用程序仍在使用该软件包,但请记住,报告的未解决问题很可能不会得到修复。令人难过的是,这是 Xamarin Forms 最受欢迎的软件包之一,但看起来我们将不得不开始寻找替代方案。

祝你好运。