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;
Загрузить рисунок в Image (WPF) через отдельный поток
Код:
То окно программы не появляется до тех пор, пока не загрузится картинка.
Пытаюсь вынести это в отдельный поток:
Код:
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);
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).
Ну или как можно по-другому загрузить картинку в image с интернета, чтобы пользовательский интерфейс в это время не затормаживался?
Цитата: NextTime
Ну или как можно по-другому загрузить картинку в image с интернета, чтобы пользовательский интерфейс в это время не затормаживался?
Нужно загружать контент асинхронно (HttpWebRequest) и показывать по завершению операции.
Загрузить-то загружу... Но куда? И Как передать это потом в Image.Source? Загрузить в виде байтов? А потом? Помогите, пожалуйста.