1

各位早安

当我偶然发现关于 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);

我认为这应该可行,但是由于基于数据库内容加载的图像而循环,我立即在第二次循环中得到一个键已经添加的错误。有什么方法可以创建一个我可以自己命名而不是根据类型来命名的数据模板键?

谢谢,贝基

4

1 回答 1

1

无法向数据模板添加密钥,但也许您可以通过创建 DataTemplateSelector 来解决您的问题。在下面的链接中,您可以找到有关如何执行此操作的非常好的信息:

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

于 2010-08-06T08:57:20.900 回答