Frage

Sind im Allgemeinen es bekannte Performance-Probleme in WPF im Zusammenhang mit Rasterspalt Redimensionierung?

Ich habe eine Anwendung, wo ich einige besondere Dinge in einer Spalte zu tun, aber für all die verschiedenen Lösungen finde ich die Spalte Redimensionierung langsam bekommt. Dies gilt, wenn ich in der Regel mehr als 1000 Elemente in meiner Liste, aber ich nehme an, dies nicht zu viel für WPF ist ..? Damit; die allgemeine Frage ist, ob Sie langsam Spalte Redimensionierung erlebt haben, und ob Sie haben Lösungen für diese gefunden? Was es verursacht wurde?

Einige weitere Details zu meinem speziellen Fall:

kann ich zwei verschiedene Dinge in meinen Spalten; ComboBox oder Textblock. Die ComboBox sollte die gesamte Spalte füllen und auf Spalte Resize folgen und mit einem Textblock in einen leeren Bereich einer Spalte klicken soll die Zeile auswählen. Dies ist, wo das Problem ist. Für alle Lösungen, die ich dazu haben wird die Säule Redimensionierung langsam. Der einzige Weg, glatt zu machen Ändern der Größe, dass ich gefunden habe, ist durch Zugabe eines Stackpanel außerhalb sie mit Orientation = „Horizontal“, aber mit diesem Ich bin nicht in der Lage, die Arten, die oben beschrieben zu erreichen.

Hier sind einige Beobachtungen:

  • Stil Hinzufügen Horizontalcontentalignment = „Stretch“ auf die Elemente der Liste macht die Comboboxen Strecke und die Textblocks anklickbare, aber auch Spalte langsam ändern.
  • Hinzufügen von Hintergrund = „Transparent“ entweder auf dem Stackpanel oder die Elemente, die das Problem in sie lösen auch eingesetzt werden, sondern macht das Ändern der Größe langsam.
  • eine äußere Stackpanel mit Eigenschaft Ausrichtung Hinzufügen = „Horizontal“ macht die Größenänderung glatt, aber ich bin nicht in der Lage die Stile anwenden, wie beschrieben.
War es hilfreich?

Lösung

Haben Sie versucht, die Elemente in der Listview virtualisieren? Wenn Sie virtualisieren, erstellt das Virtualisieren Panel nur die Visuals für die Elemente, die in der Ansicht sind. Auf diese Weise können Sie eine große Anzahl von Elementen ohne Performance-Probleme haben, wie Sie erwähnen. Siehe VirtualizingStackPanel für weitere Details. Auch Das Layoutsystem . Sie können Ihre eigenen Virtualisieren Platten erstellen. Wenn Sie nach oben schauen „virtualisieren + wpf“ auf Google Sie viele Treffer für virtualisieren Blachen, WrapPanels finden, usw.

Ich hoffe, das hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top