2017-04-04 60 views
1

私のページ内の画像をメモリから頻繁に更新したい。私はリソースから直接ロードする(フリッカー)と、プリロードされたストリーム(フリッカー)からロードすることでテストしました。 Xamarinでちらつきのない画像を更新する

this.loaderTask = new Task(() => 
     { 
      int i = 0; 
      while (true) 
      { 
       await Task.Delay(1000); 
       if (i++ % 2 == 0) 
         this.Image = ImageSource.FromStream(() => new MemoryStream(this.buf1)); 
        else 
         this.Image = ImageSource.FromStream(() => new MemoryStream(this.buf2)); 

       Xamarin.Forms.Device.BeginInvokeOnMainThread(() => 
       { 
        this.OnPropertyChanged(nameof(this.Image)); 
       }); 
      } 
     }); 

は、Android上でテストされた:これは私のviewmodelが

<Image Source="{Binding Image}" VerticalOptions="Center" HorizontalOptions="FillAndExpand"/> 

です:これは私のXAMLです。私はこれを行うためのいくつかの "標準的な"方法があると思いますか?

編集:フリッカーで、私はあなたがすぐに画像が消えるのを見て、次に新しい画像が描かれることを意味します。私は速い解決策が、私が更新したいものと同じ場所にプレースホルダーを置くことを望んだが、これはどちらも役に立たず、ロード中にデフォルトの白い背景を取得する。

+0

上の例を見つけることができますか? – Cheesebaron

答えて