3
我想顯示分組列表框這樣的:如何把相同的項目在多個組內的ListBox
- 標籤的
- 後1
- 後2
- 標籤B
- Post 2
源集合是Post的列表,每個帖子可以有很多標籤。 如果用戶選擇「發佈2」,它會突出顯示兩次。
我試過使用ICollectionView,但它需要一個單值來過濾,而不是多值。
我想顯示分組列表框這樣的:如何把相同的項目在多個組內的ListBox
源集合是Post的列表,每個帖子可以有很多標籤。 如果用戶選擇「發佈2」,它會突出顯示兩次。
我試過使用ICollectionView,但它需要一個單值來過濾,而不是多值。
假設這是你的結構......
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
)。
在此之後,分組將適用於罰款。