2012-05-08 9 views
6

Moja aplikacja ma ListView z GridLayout. Próbuję teraz wprowadzić grupy ListView do mojej aplikacji. Powiedzmy, że źródło danych zwykle zawierałoby Grupę1, Grupę2 i Grupę3. Chciałbym wyświetlać wszystkie 3 grupy przez cały czas, niezależnie od tego, czy jest w nim element, czy nie. Gdy nie ma elementu w grupie, chcę wyświetlić komunikat "pusta grupa" pod tytułem grupy.Jak podać "Empty ListView Message", gdy nie ma źródła danych

Myślę, że domyślnym sposobem, w jaki obsługuje go WinRT, nie jest wyświetlenie pustej grupy i ma to wiele sensu w wielu scenariuszach. Aby to zrobić, wiem, że być może jestem w stanie dodać manekina do widoku listy, gdy nie ma danych, ale jest to trochę hacky.

Czy istnieje lepszy sposób na zrobienie tego?

Odpowiedz

-1

Wystarczy powiązać ListView z kolekcją obiektów Grupy (gdzie Grupa jest klasą, którą definiujesz, a Grupą1, Grupą2 i Grupą3 są takimi obiektami Grupy).

Oprócz właściwości na poziomie grupy (takich jak tytuł), grupa zawiera kolekcję obiektów przedmiotów.

W datatemplate ListView, użyj innego ListView, aby wyświetlić elementy elementów dla każdej grupy.

Uważaj jednak, zagnieżdżanie GridViews spowoduje zagnieżdżone ScrollViewers. Użytkownik chciałby usunąć ScrollViewer z wewnętrznych widoków GridView, zmieniając ich szablon kontrolny.

+1

Dzięki za sugestie, ale nie widzę, jak to jest lepsze niż dodanie fikcyjnego elementu widoku listy ... –

+0

Cóż, ponieważ nie potrzebujesz manekina? Zakładam, że przedmiot pozorny będzie wymagał dość skomplikowanej logiki, aby zapewnić, że przedmiot pozorny jest wyświetlany w wybrany sposób i nie reaguje na kliknięcia i kliknięcia oraz inne zdarzenia w sposób, w jaki wyglądałby prawdziwy przedmiot. To podejście usuwa to wszystko. –

Powiązane problemy