2012-05-08 2 views
6

Meine Anwendung hat eine ListView mit GridLayout. Ich versuche jetzt, ListView-Gruppen in meine Anwendung einzuführen. Nehmen wir an, die Datenquelle hätte normalerweise Group1, Group2 und Group3. Ich möchte immer alle 3 Gruppen anzeigen, unabhängig davon, ob ein Element darin enthalten ist oder nicht. Wenn in einer Gruppe kein Element vorhanden ist, möchte ich unter dem Gruppentitel eine Nachricht "leere Gruppe" anzeigen.So geben Sie eine "leere ListView-Nachricht", wenn keine Datenquelle vorhanden ist

Ich denke, der Standard Weg, WinRT behandelt es ist nicht die leere Gruppe anzuzeigen und es macht viel Sinn in vielen Szenarien. Um das zu tun, weiß ich, dass ich vielleicht einen Dummy-Gegenstand zur Listenansicht hinzufügen kann, wenn es keine Daten gibt, aber das ist eine Art Hacky.

Also, gibt es einen besseren Weg, dies zu tun?

Antwort

-1

Binden Sie Ihre ListView einfach an eine Sammlung von Group-Objekten (wobei Group eine von Ihnen definierte Klasse ist und Group1, Group2 und Group3 solche Gruppenobjekte sind).

Zusätzlich zu den Eigenschaften auf Gruppenebene (z. B. Titel) muss eine Gruppe eine Sammlung von Elementobjekten enthalten.

Verwenden Sie in der ListView-Datentabelle eine andere ListView, um die Elementelemente für jede Gruppe anzuzeigen.

Seien Sie jedoch vorsichtig, die Verschachtelung von GridViews führt zu verschachtelten ScrollViewers. Sie möchten den ScrollViewer von den inneren GridViews entfernen, indem Sie die Kontrollvorlage ändern.

+1

Vielen Dank für die Vorschläge, aber ich sehe nicht, wie das besser ist als eine Dummy-List-View-Element hinzufügen ... –

+0

Nun, weil Sie kein Dummy-Element benötigen? Ich gehe davon aus, dass ein Dummy-Element ziemlich komplexe Logik erfordert, um sicherzustellen, dass das Dummy-Element wie gewünscht angezeigt wird, und nicht auf Taps und Klicks und andere Ereignisse reagiert, so wie ein echtes Element. Dieser Ansatz entfernt alles davon. –

Verwandte Themen