サムネイルを含むニュースリストがあります:
サーバーからJSONを取得しています。つまり、写真は-リンクです
写真を挿入するための私のコード:
foreach (Article article in NewsList.Result.Articles)
{
NewsListBoxItem NLBI = new NewsListBoxItem();
NLBI.Title.Text = article.Title;
NLBI.Date.Text = US.UnixDateToNormal(article.Date.ToString());
NLBI.id.Text = article.Id.ToString();
if (article.ImageURL != null)
{
BitmapImage image = new BitmapImage(new Uri(article.ImageURL));
NLBI.Thumbnail.Source = image;
}
NewsListBox.Items.Add(NLBI);
}
オフライン モードでアプリケーションに入ると、それらは表示されないので、最も好ましい方法である文字列として保存する必要があります。
つまり、それらを Base64 に変換する必要があります。
BitmapImage image = new BitmapImage(new Uri(article.ImageURL));
byte[] bytearray = null;
using (MemoryStream ms = new MemoryStream())
{
WriteableBitmap wbitmp = new WriteableBitmap(image );
wbitmp .SaveJpeg(ms, wbitmp.PixelWidth, wbitmp.PixelHeight, 0, 100);
ms.Seek(0, SeekOrigin.Begin);
bytearray = ms.GetBuffer();
}
string str = Convert.ToBase64String(bytearray);
NullReferenceException
私の間違いはどこですか
? コードはオンラインで失敗します:
WriteableBitmap wbitmp = new WriteableBitmap(image);
エラー:
タイプ 'System.NullReferenceException' の例外が System.Windows.ni.dll で発生しましたが、ユーザー コードでは処理されませんでした
私は自分のプロジェクトからこの画像を使用しようとさえしました:
BitmapImage image = new BitmapImage(new Uri("Theme/MenuButton.png",UriKind.Relative));
しかし、NullRef ではまだ失敗しますが、画像が存在することはわかっています。画像が nul の場合、ImageBox には表示されません