つまり、いいえ、Silverlight 4 には新しい機能はありません。WriteableBitmapExは、不足している機能を補おうとします。
実際の問題について: BitmapImage.ImageFailedイベントにハンドラーを追加して、画像をダウンロードするときにエラーが発生するかどうかを確認する必要があります。そして、 ImageOpenedイベント ハンドラーで WriteableBitmap を作成する必要があります。
var image = new BitmapImage(new Uri("http://www.example.com/example.png"));
WriteableBitmap newImage = null;
image.ImageOpened += (s, e) => newImage = new WriteableBitmap(image);
クロスドメイン参照が許可されていることにも注意してください。詳細については、MSDN ページを参照してください。イメージを Web プロジェクトの ClientBin フォルダーに配置し、代わりに相対パスを使用する必要があります。
別の方法として、イメージをリソースとしてアセンブリにコンパイルし、そこからロードすることもできます。WriteableBitmapExには、このタスクを少し簡単にする拡張メソッドがあります。ただし、これによりアセンブリのサイズが大きくなり、最初の XAP の読み込み時間が長くなることに注意してください。
// Load an image from the calling Assembly's resources only by passing the relative path
var writeableBmp = new WriteableBitmap(0, 0).FromResource("example.png");