Ich habe in der Vergangenheit eine Reihe von kommerziellen WPF-Datagrids verwendet und ich muss sagen, dass die Leistung ziemlich enttäuschend und langsam war. Ich würde gerne in der Lage sein, bis zu einer Million Datensätze zu laden und in der Lage zu sein, schnell und ohne Verzögerung nach oben oder unten zu scrollen.
Ich habe von einigen WPF-Entwicklern von Guru erfahren, dass es tatsächlich möglich ist, ein WPF-Datagrid von Grund auf neu zu erstellen - mit weit weniger Features als den kommerziellen -, die sich hauptsächlich auf die Leistung konzentrieren.
Aber wie würde ich fortfahren? Mir wurde gesagt, dass die Entwicklung dieser Datagrids nicht auf die übliche Art und Weise der Verwendung des ItemsControls erfolgen sollte, was zu den gleichen Leistungsproblemen führt wie die existierenden wpf-Grids.
Ist hier ein Guru, um mich in die richtige Richtung zu lenken?
Aktualisierung:
Weil eine Person den Zweifel an der Notwendigkeit von einer Million Schallplatten erwähnt hat, springen jetzt zu viele auf denselben Zug auf. Was mich interessiert, ist das Erstellen eines schnellen Datagrids mit geringer Latenz mit kaum einem Feature, das theoretisch bis zu einer Million Datensätze enthalten kann.
Ich brauche keine Sortierung, Filterung oder anderes, alles, was ich brauche, ist Geschwindigkeit. Und das ist, wo ich Anleitung von einem Guru brauchte. Ich weiß, was Data Virtualization ist, es ist einfach nicht genug.
Ich vermute, dass Sie das VirtualizingStackPanel als Teil Ihrer Implementierung betrachten möchten, es gibt nur Steuerelemente aus, wenn sie sichtbar werden.
Eine Million Datensätze klingen jedoch wie zu viele, die ein Benutzer auf dem Bildschirm zu einem bestimmten Zeitpunkt dringend benötigen könnte. Ich würde mein UI-Design ernsthaft überdenken, aber das bin nur ich.
Tags und Links wpf .net c# silverlight datagrid