2008-10-22 13 views
300

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

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

+90

OK, może to pytanie jest duplikatem, ale zostało zamknięte jako "nie konstruktywne" przez casperOne ponownie ... naprawdę? – HappyNomad

+83

Znalazłem to pytanie i jego odpowiedź bardzo pomocne. Trudno byłoby to sklasyfikować jako "nie konstruktywne". Odpowiedział dokładnie na pytanie, które miałem, w zwięzły sposób. –

+14

Nie sądzę, abym mógł liczyć wystarczająco wysoko, aby policzyć liczbę pomocnych pytań na Stackoverflow, które zostały przymusowo zamknięte przez casperOne. –

Odpowiedz

343

ListView to wyspecjalizowany ListBox (czyli dziedziczy on z ListBox). Pozwala określić różne widoki zamiast prostej listy. Możesz albo rozwinąć własny widok, albo użyć GridView (pomyśl o "widoku szczegółów"). Jest to w zasadzie wielobolumnowy listbox, kuzyn listy list w oknie.

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

+1

Jaka jest różnica między tym a 'DataGrid'? Chyba że 'ListView' pozwala na dynamiczną zmianę widoku (np. Win-explorer - lista, szczegóły, duże ikony), nie widzę powodu, dla którego ... – JobaDiniz