gpt4 book ai didi

wpf - 如何将相同的项目放在ListBox中的多个组中

转载 作者:行者123 更新时间:2023-12-04 14:00:53 24 4
gpt4 key购买 nike

我想显示一个分组的ListBox像这样:


标签A

发布1
发布2

标签B

发布2



源集合是一个帖子列表,每个帖子可以有很多标签。
如果用户选择“帖子2”,则将其突出显示两次。

我尝试使用ICollectionView,但是它需要一个Single值来过滤,而不是多值一个。

最佳答案

假设这是您的结构...

public class Post
{
public string Name { get; set; }
public string[] Tags { get; set; }
}


实现基于标签的分组的唯一方法是将其展平

var PostTagList = myPosts.SelectMany(
p => p.Tags,
(owner, tag) => new {owner, tag}).Select(
ot => new Post()
{
Name = ot.owner.Name,
Tags = new string[] { ot.tag }
}).ToList();


这样,您将拥有一个平坦的层次结构,即重复 Post对象及其每个标签(即 Post.Tags属性将对该 Post仅具有一个单独的标签)。

在此之后,分组将适用。

关于wpf - 如何将相同的项目放在ListBox中的多个组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8209732/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com