Laden...

Wird es flimmern? (WPF vs. WinForms)

Erstellt von LonelyPixel vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.275 Views
Thema geschlossen
L
LonelyPixel Themenstarter:in
333 Beiträge seit 2007
vor 12 Jahren
Wird es flimmern? (WPF vs. WinForms)

Hallo,

ich möchte eine neue Anwendung erstellen und bin mir unsicher, ob ich Windows Forms oder WPF verwenden soll. Mit Windows Forms kenne ich mich aus, und ich weiß auch, was alles nicht ordentlich funktionieren wird. Von WPF habe ich nur Grundlagen-Ahnung, d.h. ich habe alle Konzepte mal gesehen, könnte sie aber nicht auswendig hinschreiben oder sinnvoll einsetzen. WPF ist ja irgendwie wahnsinnig kompliziert, nicht nur die Konzepte sondern auch die vielen neuen Sprachen (XAML, {Binding}-Schreibweise usw.).

Was mir bei Windows Forms an komplexen Oberflächen gar nicht gefällt ist, dass es flimmert. Wenn ich ein paar Layout-Panels verwende und dann in einer Tabelle eine Zeile ein- oder ausblende, dann rutscht der Rest hoch oder runter, alles wird neu gezeichnet, und erst dann wird die Größe der verrutschten Controls an den neuen Platz angepasst. Oder ein abgeleitetes Panel zeichnet zuerst die Hintergrundfarbe und lässt an den Stellen, wo noch ein Label hinkommt, die Farbe stehen, und irgendwann kommt dann auch das Label auf den Schirm. Das sieht alles sehr unschön aus.

Da WPF ja zuhauf dieser Effekte und Verschachtelungen verwendet, außerdem alles animieren kann, da vermutlich ein völlig neu entwickeltes Darstellungskonzept (kein WM_PAINT mehr) zum Einsatz kommt, und noch dazu alles irgendwie GPU-beschleunigt sein soll, habe ich die Hoffnung, dass derartige Flimmereffekte bei WPF nicht mehr auftreten. Mangels jeglicher Erfahrung kann ich das aber aktuell nicht prüfen. Wer kennt sich damit aus?

Außerdem dauert es extrem lange, wenn ich viel Text abmessen muss, um in einer Tabelle die Spalten automatisch zu verbreitern. DataGridView mit AutoSize-Columns und ein paar tausend Zeilen sind nicht mehr interaktiv. Geht das mit WPF schneller?

Welche Vorteile habe ich denn sonst mit WPF gegenüber WinForms? Bessere OpenType- und Unicode-Unterstützung bei der Textdarstellung hab ich mal gelesen. Die ganzen tollen Animationen. Noch irgendwas nützliches, wichtiges?

Und wo finde ich verständliche Tutorials, die mir Data Templates, Data Binding und die Event-Geschichten erklären? Was Google bislang so gefunden hat, hat mich immer mit vielen Fragezeichen zurückgelassen. Teilweise war der Code auch sehr unvollständig, so dass ich nichtmal selbst experimentieren konnte. Außerdem verwenden da draußen scheinbar alle VS2008, von VS2010/.NET 4 sieht man kaum etwas.

6.911 Beiträge seit 2009
vor 12 Jahren

Hallo LonelyPixel,

das Thema WinForms vs. WPF wurde im Forum schon mehrmals besprochen. Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 1.1.

Und wo finde ich verständliche Tutorials

Dazu gibt alles in der :rtfm: wenn du im Abschnitt WPF guckst. Z.B. Data Binding Overview und die dort verlinkten Themen und in der Hierarchie weiter oben liegenden Themen.

von VS2010/.NET 4 sieht man kaum etwas.

Die MSDN ist auch für .net 4.0 😉

WPF ist ja irgendwie wahnsinnig kompliziert,

Wenn du die WPF mal verstanden hast, ist sie viel weniger kompliziert als WinForms. Ich empfinde sie sogar viel klarer und intuitiver.

Wer kennt sich damit aus?

Rhetorische Frage: welche Antwort erwartest du denn da?
Probiers einfach aus, und du siehst dass nix ruckelt (außer es wird nur Software-Rendering verwendet).

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

Thema geschlossen