当无法找到 ListViewItem 的 ImageKey 时,是否有使用默认图像的内置方法?
我有一个 ImageList:
- 汽车.png
- 房子.png
- 默认.png
和一个 ListViewItem
var item = new ListViewItem("Item1");
item.ImageKey = "computer.png";
默认情况下,ListView 在这种情况下不显示图像。是否有可能显示“default.png”
应该这样做(尽管可能有更优雅的方式)。您可能需要调整它以适应您填充 ListView 的方式。基本代码是这样的:
string imageKey = "DefaultKey";
string someOtherKey = "SomeOtherKey";
if (lv.SmallImageList.Images.ContainsKey("SomeOtherKey"))
{
imageKey = someOtherKey;
}
var item = new ListViewItem("Item1");
item.ImageKey = imageKey;
请注意,根据您填充列表的方式,最好将其提取到返回适当键的函数中:
string getImageKey(string candidateKey)
{
if (lvAzureDirectory.SmallImageList.Images.ContainsKey(candidateKey))
{
return candidateKey;
}
else
{
return "DefaultKey";
}
}