ListBox vs. ListView - jak wybrać powiązanie danych

318

Rozważam ListBox lub ListView dla aplikacji WPF. Wygląda na to, że obsługuje szablony powiązania danych i elementów. Moja aplikacja ma prostą listę elementów, które zamierzam wyszukiwać / sortować / filtrować na podstawie danych wprowadzonych przez użytkownika. Demo wiązania danych ( http://msdn.microsoft.com/en-us/library/ms771319.aspx ) używa ListBox z CollectionViewSource.

Czy ktoś ma zalety / wady, dla których kontroli użyć i kiedy?

Geoff Cox
źródło

Odpowiedzi:

364

ListView to wyspecjalizowany ListBox (czyli dziedziczy z ListBox). Umożliwia określenie różnych widoków zamiast prostej listy. Możesz rzucić własny widok lub użyć GridView (myśl jak „widok szczegółów” podobny do eksploratora). Zasadniczo jest to wielokolumnowe pole listy, kuzyn widoku listy formularzy systemu Windows.

Jeśli nie potrzebujesz dodatkowych możliwości ListView, z pewnością możesz użyć ListBox, jeśli po prostu wyświetlasz listę elementów (nawet jeśli szablon jest złożony).

Philip Rieck
źródło
4
Jaka jest różnica między tym a DataGrid? O ile nie ListViewpozwala ci dynamicznie zmieniać widoku (jak win-explorer - lista, szczegóły, duże ikony), nie rozumiem, dlaczego z niego korzystać ...
JobaDiniz