wpf listview,将图像放入一列代替某些行值?

时间:2012-02-07 23:57:54

标签: c# wpf image listview

我有一个listview,它由sql数据库中的值填充。而不是为我正在寻找的'x'的每个值保存图像,我想知道是否有办法将图像放入x值的列。

因此,对于某列中的每个“1”实例,我想显示一个圆的图像。对于同一列中每个“2”的实例,我想显示一个正方形。

如果我保存每个实例的.jpg文件而不是数字,数据库会很快膨胀冗余图片,所以我想避免添加实际图片。有谁知道怎么做?

1 个答案:

答案 0 :(得分:0)

有几种方法可以实现这一点,如果您使用ListBox(可能是您想要的,而不是ListView),那么您可以创建自定义DataTemplate

您的ListBox将绑定到一组项目,每个项目都是一个自定义类型,表示从您的数据库填充的模型。

在此模型上可以是Image属性,例如,它可以是适当图像的路径。在此Image属性的getter中,您可以根据整数值(这是模型上的另一个属性)返回相应的路径。

ListBox DataTemplate中,您可以使用Image控件,其Source属性绑定到基础数据对象的Image属性。

如果您希望使用使用GridView的ListView,则可以将列的CellTemplate设置为DataTemplate,因此原理相同。这被描述为here