wpf-listview,将图像放在一列中以代替某些行值

本文关键字:一列 图像 wpf-listview | 更新日期: 2023-09-27 18:23:54

我有一个列表视图,它由sql数据库中的值填充。我不想为我要查找的每个"x"值保存一个图像,而是想知道是否有办法将图像放入x值的列中。

因此,对于某一列中"1"的每个实例,我都希望显示一个圆的图像。对于同一列中的每个"2"实例,我希望显示一个正方形。

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

wpf-listview,将图像放在一列中以代替某些行值

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

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

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

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

如果您希望使用使用GridView的ListView,那么您可以将列的CellTemplate设置为DataTemplate,因此原理是相同的。此处对此进行了描述。