Короче говоря: Нет, в Silverlight 4 нет новых функций. WriteableBitmapEx пытается компенсировать недостающую функциональность.
Относительно вашей реальной проблемы: вы должны добавить обработчик BitmapImage.ImageFailed событие, чтобы увидеть, есть ли ошибка, когда изображение должно быть загружено.И вам необходимо создать WriteableBitmap в обработчике событий ImageOpened .
var image = new BitmapImage(new Uri("http://www.example.com/example.png"));
WriteableBitmap newImage = null;
image.ImageOpened += (s, e) => newImage = new WriteableBitmap(image);
Обратите внимание, что междоменные ссылки разрешены.Подробнее см. MSDN page . Вы должны поместить изображение в папку 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");