Динамическая загрузка изображений WPF в ResourceDictionary программно - PullRequest
1 голос
/ 06 августа 2010

Доброе утро,

Я пытался отключить часть обработки моего приложения, когда наткнулся на предложение по SO загрузить все изображения в словарь ресурсов через BitmapImages, а затем ссылаться на них, а не загружатьизображение каждый раз.Моя проблема заключается в том, что мне нужно сделать все это программно, поэтому:

<BitmapImage x:Key="MyImageSource" UriSource="../Media/Image.png" />

стало:

BitmapImage bI = new BitmapImage();
Uri imgUri = new Uri(fI.FullName, UriKind.RelativeOrAbsolute);
bI.UriSource = imgUri;
DataTemplateKey dTK = new DataTemplateKey(typeof(BitmapImage));
imageDictionary.Add(dTK, bI);

, которое, я думаю, должно работать, но поскольку оно зацикливается из-за загрузки изображенийосновываясь на содержимом базы данных, я сразу получаю уже добавленную ошибку ключа во втором проходном цикле.Есть ли способ создать ключ данных datatemplate, который я могу назвать сам, а не на основе типа?

Спасибо, Бекки

1 Ответ

1 голос
/ 06 августа 2010

Невозможно добавить ключ к табличке данных, но, возможно, вы исправите свою проблему, создав DataTemplateSelector.По ссылке ниже вы можете найти очень полезную информацию о том, как это сделать:

http://www.switchonthecode.com/tutorials/wpf-tutorial-how-to-use-a-datatemplateselector

...