2010-01-03 42 views
2

我有一个列表框,我希望它的ItemsSource是一个ObservableCollection +一个额外的静态文本,如“所有项目”的所有项目。如何用LINQ查询选择静态文本?

现在我只是有类似的东西:

listbox1.ItemsSource = from Car c in Cars 
         select c.Model 

我知道我可以只是文本手动添加到列表框,但我想,因为LINQ查询使用限制,但是要查询的一部分Obtics库(所以UI被动更新)。我不太熟悉基础之外的linq查询,所以有人知道这是否可能?谢谢

回答

1

您可以使用Union()运算符将更多对象添加到所选集合中。

string[] additionalItems = {"All Items"}; 

listbox1.ItemsSource = (from Car c in Cars 
         select c.Model) 
         .Union(additionalItems); 
+1

在Union子句中,'from s in additionalItems select s''是多余的:只是'additionalItems'具有相同的效果并且更简洁。 – itowlson 2010-01-03 21:52:48

+1

是的,我刚刚意识到我最初的例子很差。正在编辑它,因为你评论;) – womp 2010-01-03 21:54:54

+0

谢谢你们。完美的作品。 – Adam 2010-01-03 22:01:35