Обнаружил недавно глюк с отображением картинок в Firefox’е. Одно единственное изображение, которое я использовал в качестве исходного фона для таблицы цветов, не показывалось вообще. Я решил, что я что то делаю не правильно и покопался на на тему как правильно грузить картинки. Нашел три варианта, помимо просто указания файла в XAML коде:
Просто выставление свойства:
CoolImage.SetValue(Image.SourceProperty, "bg.jpg");
Динамический XAML:
CoolImage = (Image)XamlReader.Load(@"<Image Source=bg.jpg'>");
И, наконец, вариант с даунлоадером (наиболее гибкий):
Downloader loader = new Downloader();
// Subscribe to the downloaded event
loader.Completed += new EventHandler(DownloadCompleted);
// Download the image
loader.Open("GET", new Uri("bg.jpg", UriKind.Relative));
loader.Send();
//......................
private void DownloadCompleted(object sender, EventArgs e)
{
CoolImage.SetSource(sender as Downloader, "");
}
// Subscribe to the downloaded event
loader.Completed += new EventHandler(DownloadCompleted);
// Download the image
loader.Open("GET", new Uri("bg.jpg", UriKind.Relative));
loader.Send();
//......................
private void DownloadCompleted(object sender, EventArgs e)
{
CoolImage.SetSource(sender as Downloader, "");
}
Последний вариант самый оптимальный, так как позволяет контролировать весь процесс загрузки. Я добавил этот код в тест с цветами, но в Firefox картинка так и не отобразилась. Надеюсь это поправят уже к бета версии Silverlight.