我有一项任务是在WPF中附加一些带有列表框项目的标签,然后搜索这些标签以查找关联的listboxitem。 我正在从外部XML文件中读取标签,因此我需要以编程方式附加这些标签。 我看到列表框项目有一个属性Tag但我不确定我们是否可以附加更多的一个标签,如果WPF允许根据其标签搜索列表框项目。
答案 0 :(得分:1)
Tag
属性的类型为object
,因此如果您想在其中包含多个对象,只需使用一个集合,因为集合仍为object
s:
ListBoxItem.Tag = new List<object>();
但是,正如正确提到的@HighCore,你不希望在UI对象上执行此操作,因为这是WPF ...我们使用数据。因此,不要将标记设置到ListBoxItem.Tag
属性中,只需定义自己的类来保存数据并为其添加Tag
属性:
YourDataItem.Tag = yourTag;
现在我们正确地使用数据,我们可以简单地遍历数据项集合并找到具有特定标记的项目:
IEnumerable<YourDataItem> results = YourCollection.Where(i => i.Tag == someTagValue);