Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Загрузить рисунок в Image (WPF) через отдельный поток

1.8K
24 апреля 2011 года
NextTime
217 / / 19.12.2007
При запуске WPF-приложения нужно загрузить по URL-адресу картинку и отобразить её в System.Windows.Controls.Image (WPF). Если сделать так:
 
Код:
var bi = new System.Windows.Media.Imaging.BitmapImage(new Uri(rem_file_url));
            img_brand.Source = bi;
            img_brand.Height = bi.Height;
            img_brand.Width = bi.Width;

То окно программы не появляется до тех пор, пока не загрузится картинка.
Пытаюсь вынести это в отдельный поток:
 
Код:
var bi = new System.Windows.Media.Imaging.BitmapImage(new Uri(rem_file_url));
            DynamicExecutor.SetProperty(this, img_brand, "Height", bi.Height);
            DynamicExecutor.SetProperty(this, img_brand, "Width", bi.Width);
            DynamicExecutor.SetProperty(this, img_brand, "Source", bi);

Но на последней строке, естественно, возникает исключение.
Как мне правильно загрузить картинку в Image через отдельный поток или какой лучше компонент использовать вместо Image в WPF?
P.S. DynamicExecutor - класс, написанный hardcase и переписанный мной, предназначенный для получения доступа к свойствам и методам контролов, созданных в чужом потоке, через отражение (reflection).
1.8K
01 мая 2011 года
NextTime
217 / / 19.12.2007
Ну или как можно по-другому загрузить картинку в image с интернета, чтобы пользовательский интерфейс в это время не затормаживался?
5
01 мая 2011 года
hardcase
4.5K / / 09.08.2005
Цитата: NextTime
Ну или как можно по-другому загрузить картинку в image с интернета, чтобы пользовательский интерфейс в это время не затормаживался?


Нужно загружать контент асинхронно (HttpWebRequest) и показывать по завершению операции.

1.8K
02 мая 2011 года
NextTime
217 / / 19.12.2007
Загрузить-то загружу... Но куда? И Как передать это потом в Image.Source? Загрузить в виде байтов? А потом? Помогите, пожалуйста.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог