none
WPF ListView Seiten-Modus RRS feed

  • Frage

  • Hallo!

    Ich will eine Kiosk-Anwendung schreiben, die tabellarische Daten mit mehreren Spalten auf einem großen Monitor anzeigt.

    Die Daten liegen in Form einer Liste mit benutzdefinierten Objekten vor, deren Eigenschaften angezeigt werden sollen.

    Da nicht immer alle Daten-Einträge auf einmal angezeigt werden können, und es keinen Benutzer gibt, der scrollen könnte, sollen diese automatisch wie Seiten in einem Buch nach einer gewissen Zeit umblättern (auf einer Seite befinden sich natürlich mehrere Daten-Einträge, auf der letzten allerdings weniger).

    Als Animation zum Umblenden habe ich vor, eine externe Bibliothek zu verwenden (PixelLab aus Bag of Tricks).
    Diese Bibliothek stellt einen TransitionPresenter zur Verfügung, der seinen Content anzeigt.
    Ändert sich die Content-Eigenschaft des TransitionPresenters, blendet er den neuen Content über eine Umblätter-Animation ein, während der alte Content ausgeblendet wird.

    Mein Problem besteht jetzt darin, diesen TransitionPresenter über ein Template in die ListView zu integrieren und die Content-Eigenschaft nach einem bestimmten Zeitintervall auf ein anderes ItemsPresenter mit Daten der nächsten Seite zu setzen.

    //Edit: Es soll allerdings nur der Inhalt des ListViews umgeblättert werden - die Header (die Überschriften) sollen fest an ihrem Ort bleiben.

    Mir fehlt schlichtweg der Ansatz - und ich bin nichteinmal der Überzeugung, überhaupt eine ListView verwenden zu können.

    Wie kann ich vorgehen?

    Vielen Dank für Antworten,
    Henning

    • Bearbeitet Henning Dieterichs Freitag, 19. November 2010 19:56 Fehlende Information ergänzt
    Freitag, 19. November 2010 19:21

Antworten

  • Hm, das wird schwierig. Eventuell ist es dann besser, eine ListBox zu nehmen, und das Header-Control manuell darüber zu packen. Dann kannst Du die komplette Listbox austauschen. Den Header musst Du dann natürlich manuell programmieren.

    Gruß

    Jus

     

    Freitag, 19. November 2010 20:33

Alle Antworten

  • Hallo Henning,

    ich kenne die PixelLab aus den Bag of Tricks jetzt nicht direkt auswending, aber bei ähnlichen Bibliotheken funktioniert das eigentlich so, dass man hierfür zwei UserControls macht und den Content des TransitionPresenters einmal auf UserControl1 setzt und dann auf UserControl2 (und umgekehrt).

    Du müsstest dann also den ListView auf ein UserControl packen und davon zwei Instanzen anlegen.

    Gruß

    Jus

     

    Freitag, 19. November 2010 19:47
  • Vielen Dank für Deine Antwort, jus!

    Ich habe allerdings eine wichtige Information vergessen:
    Nur der Inhalt des Listviews soll umgeblättert werden, nicht der Header.

    Deine vorgeschlagene Lösung würde das ListView komplett umblättern, ich will aber nur den Inhalt austauschen.

    Freitag, 19. November 2010 19:53
  • Hm, das wird schwierig. Eventuell ist es dann besser, eine ListBox zu nehmen, und das Header-Control manuell darüber zu packen. Dann kannst Du die komplette Listbox austauschen. Den Header musst Du dann natürlich manuell programmieren.

    Gruß

    Jus

     

    Freitag, 19. November 2010 20:33