Как динамически загрузить картинку в Silverlight

В общем задача тривиальная и простая. Я раньше не знал как это делается. Мне помог один человек. Его блог: http://www.dev.net.ua/blogs/sergeylutay
Спасибо, тебе, Серега!
Он отозвался на мою просьбу о помощи, и помог разобраться с этой задачей. Бывает, что даже с простыми вещами разобраться порой очень трудно, особенно, если ты – новичок в этом. А оказывается очень просто. Приведенный ниже пример демонстрирует как можно программно, из кода добавлять в LayoutRoot дочерние элементы и обновлять интерфейс.
Image img = new Image();    
BitmapImage bimg = new BitmapImage(new Uri("http://www.wallpaperez.info/wallpaper/models/m/Adriana-Lima-wallpapers-796.jpg", UriKind.Absolute));
//если заранее не известен размер загружаемой картинки
bimg.ImageOpened += delegate(object sender, RoutedEventArgs e)
{
BitmapImage bitmapImg = sender as BitmapImage;
img.Height = bitmapImg.PixelHeight;
img.Width = bitmapImg.PixelWidth;
};
img.Source = bimg;
LayoutRoot.Children.Add(img);
Все очень просто. Создаем объект типа Image. Затем, создаем обект BitmapImage, и к нему привязываем картинку по URI. Далее указываем размеры изображения.
После чего объекту Image указываем в качестве источника наш BitmapImage-объект.
И, вуаля! Добавляем на нашу страницу в строке
LayoutRoot.Children.Add(img);
Подозреваю, что объекты можно засовывать в любые контейнеры. Надо будет покопаться ;)
Вот и все!

0 коммент.:

Отправить комментарий