我正在考虑一个WPF应用程序的ListBox或ListView。它似乎既支持数据绑定,也支持项模板。我的应用程序有一个简单的项目列表,我希望能够根据用户输入进行搜索/排序/筛选。数据绑定演示(http://msdn.microsoft.com/en-us/library/ms771319.aspx)使用一个带有CollectionViewSource的ListBox。

有人知道什么时候使用哪种控件的优缺点吗?


ListView是一个专门的ListBox(也就是说,它继承自ListBox)。它允许您指定不同的视图,而不是一个直接的列表。你可以滚动你自己的视图,或者使用GridView(像资源管理器一样的“细节视图”)。它基本上是一个多列列表框,类似于windows表单的listview。

如果你不需要ListView的额外功能,你当然可以使用ListBox,如果你只是显示一个项目列表(即使模板很复杂)。