ListBox vs. ListView - como escolher para ligação de dados

318

Estou considerando um ListBox ou um ListView para um aplicativo WPF. Parece que suporta a ligação de dados e modelos de item. Meu aplicativo possui uma lista simples de itens que pretendo pesquisar / classificar / filtrar com base na entrada do usuário. A demonstração de ligação de dados ( http://msdn.microsoft.com/en-us/library/ms771319.aspx ) usa um ListBox com um CollectionViewSource.

Alguém tem prós / contras para qual controle usar e quando?

Geoff Cox
fonte

Respostas:

364

Um ListView é um ListBox especializado (ou seja, herda do ListBox). Permite especificar visualizações diferentes, em vez de uma lista direta. Você pode rolar sua própria visualização ou usar o GridView (pense em "visualização de detalhes" do tipo explorador). É basicamente a caixa de listagem de várias colunas, a prima da exibição de lista do Windows Form.

Se você não precisar dos recursos adicionais do ListView, certamente poderá usar o ListBox se estiver simplesmente mostrando uma lista de itens (mesmo que o modelo seja complexo).

Philip Rieck
fonte
4
Qual a diferença entre isso e DataGrid? A menos que ListViewpermite alterar o ponto de vista de forma dinâmica (como win-explorer - lista, detalhes, ícones grandes), eu não vejo por que usá-lo ...
JobaDiniz