2016-04-29 20 views
1

イメージセルとカスタムラベルを保持するカスタムViewCellにImageCellを変更しました。Xamarin.FormsカスタムViewCell/ImageCell

ImageCellは、画面に表示されたときだけ、セルの画像を読み込んでいました。私のカスタムセルは、初期ロード中にすべてのViewCellのすべてのイメージをロードします。

これを修正するにはどうすればよいですか、または同じ動作を実装するためにカスタムViewCellを拡張するにはどうすればよいですか?リストビューが細胞をリサイクルするように設定されている場合、彼らはビューになるまで

おかげで、ニコライ

+2

をスクロールしながらいくつかのコード – Sreeraj

+0

を追加してくださいと呼ばれているそれはあなたのカスタムセルコードを確認するために本当に必要なのです。 –

答えて

3

限り、あなたはどこにもバックグラウンドでそれをロードしていないとして、それはそれらをロードするべきではありません。あなたのCustomViewCellで

<ListView CachingStrategy="RecycleElement"> 
+0

CachingStrategy属性がListViewに存在しません。 – Nik

+0

これは新機能です.Xamarin Forms Nugetパッケージを最新の2.2.0にアップグレードしてください。 –

5

あなただけOnAppearingOnDisappearingをオーバーライドする必要があります。

両方のイベントが

public class MyCell : ViewCell 
{ 
    protected override void OnAppearing() 
    { 
     base.OnAppearing(); 
     // Do what happens on appeaering - load image 
    } 

    protected override void OnDisappearing() 
    { 
     base.OnDisappearing(); 
     // Do what happens on disappeaering - unload image 
    } 

    public MyCell() 
    { 
    } 
}