wpf-listview,将图像放在一列中以代替某些行值
本文关键字:一列 图像 wpf-listview | 更新日期: 2023-09-27 18:23:54
我有一个列表视图,它由sql数据库中的值填充。我不想为我要查找的每个"x"值保存一个图像,而是想知道是否有办法将图像放入x值的列中。
因此,对于某一列中"1"的每个实例,我都希望显示一个圆的图像。对于同一列中的每个"2"实例,我希望显示一个正方形。
如果我为每个实例保存.jpg文件,而不是数字,数据库会很快膨胀为多余的图片,所以我希望避免添加实际的图片。有人知道怎么做吗?
有几种方法可以实现这一点,如果您使用ListBox
(这可能是您想要的,而不是ListView
),那么您可以创建一个自定义的DataTemplate。
您的ListBox
将绑定到一个项目集合,每个项目都是一个自定义类型,表示从数据库中填充的模型。
例如,在这个模型上可以是Image
属性,它可以是到适当图像的路径。在这个Image
属性的getter中,可以根据整数值(这是模型上的另一个属性)返回适当的路径。
在ListBox
DataTemplate中,可以使用Image
控件,该控件的Source
属性绑定到基础数据对象的Image
属性。
如果您希望使用使用GridView的ListView
,那么您可以将列的CellTemplate
设置为DataTemplate
,因此原理是相同的。此处对此进行了描述。