2009-08-15 6 views
1

Genauer gesagt, ich habe versucht, ein Raster von 48 Zeilen, 40 Einheiten hoch, in einem Scroll-Viewer enthalten ... jede Zeile sollte eine Fortschrittsbalken enthalten, aber aus welchen Gründen auch immer, das wirklich wirklich meine Benutzeroberfläche verlangsamt, so Ich habe es verschrottet. Meine Fragen sind wie folgt:Was sind einige schnelle und einfache Implementierungen für einen segmentierten Fortschrittsbalken in WPF?

Warum würde der Fortschrittsbalken so extreme Verlangsamung verursachen, besonders während das Host-Panel animiert?

Anstelle eines Fortschrittsbalkens könnte ich ein mehrspaltiges Gitter verwenden und es mit reziklierenden Größen füllen, die individuell gefärbt werden können, wäre dies eine "schnellere" Lösung?

+0

Was ist ein "segmentierter Fortschrittsbalken" - müssen Sie Marker oder andere Details visuell überlagern? Ich wette, die 40 Steuerelemente sind ziemlich intensiv - viele Ereignisse, die alle voller Storyboards sind, die animieren (wenn Sie die IsIndeterminate-Eigenschaft verwenden), etc. –

+0

Ich bin eigentlich nicht: -/nur mit einer Fortschrittsleiste ... wie in Firoso

+0

Ich bin mir nicht sicher, was Sie meinen, aber Kapitel 3 von WPF Control Development Unleashed enthält ein Beispiel für eine "gestaffelte" ProgressBar. (SAMS Verlag, Pavan Podila & Kevin Hoffman) – TimothyP

Antwort

0

Animationen (können) CPU-Zeit kosten. So weniger Animation/Berechnung/Rendering für den Fortschrittsbalken kostet weniger CPU-Zeit.

Der Standard WPF progress bar is notorious for its animation.

Ein Fortschrittsbalken mit einem einfacheren Design ist wahrscheinlich besser als der Standard.

Ihre Lösung mit einem 40-Zeilen-Raster und 40 Fortschrittsbalken ist nicht gut: zu viele Berechnungen.

Sie könnten versuchen, die Vorlage der Fortschrittsbalken zu ersetzen, aber 40 Fortschrittsbalken ist immer noch viel. Vielleicht könnte eine andere Art des Fortschritts (Zahlen?) Für die Leistung besser sein.

Verwandte Themen