filö schrieb:
WPF hat meiner Meinung nach wesentlich mehr Vorteile.
Ich wiederhole mich: Kommt auf den Anwendungsfall an
Und ich zeig es dir mal an deinem Beitrag auf:
filö schrieb:
Du kannst mit WinForms niemals auch nur ähnliche GUI's gestalten wie mit WPF.
Wo man sich in WinForms noch mit resizeevents und GDI rumschlägt, schafft ein komplett neues Konzept eine schnelle und saubere Abhilfe bezüglich Layout und Darstellung.
1. Womöglich will man das Standardlayout von Windows. Dann reicht dir WinForms völlig aus. Im Gegenteil, es kann sogar besser sein, da das Standardverhalten der GUI Oberflächen unter WPF für Windows nur emuliert werden. Es gibt durchaus gewisse kleine Unterschiede. Du kannst mit WPF dies allerdings korrigieren, was aber oft einiges an Aufwand verursacht, den du mit WinForms nicht hättest.
2. Bezüglich Layout kennen viele anscheinend das TableLayoutPanel unter WinForms nicht. Was in WPF eingeführt wurde ist nicht ein neues Konzept, es wurde einfach nur verfeinert. Diese Verfeinerung ist aber nicht unbedingt nötig.
filö schrieb:
So wird z.B. HLSL(GPU-Beschleundigte Shader), Animationen bis hin zu 3D Scenen usw. unterstützt. Dazu kommt, dass man nicht so häufig sich mit GDI rumplagen muss. Will man etwas anders darstellen, reicht es oft schon mit einer Zeile XAML-Code eine Ressource umzudefinieren oder einen Style bzw. Template zu erstellen.
Das ist definitiv ein nett in WPF. Nur ist das etwas was man ständig benötigt? Ich kenne viele Kunden, welche lieber ein Standardaussehen haben wollen, an welches sie sich gewöhnt sind. Die Leute sind nicht so begeistert davon, wenn alles flickert, blinkt, bewegt, usw. usf.
WPF bringt da viele Möglichkeiten, das ist wahr. Die Frage ist aber immer: Braucht man sie?
filö schrieb:
Auch neue Konzepte wie z.B. Bindings sind äußerst hilfreich und können sehr vieles erleichtern.
Bindings sind nichts neues. Das gibt es auch unter WinForms. WPF hat das System nur erweitert.
filö schrieb:
z.B. btnOpen.Enabled = false... gibts in WPF nicht mehr. Mit Commands werden Elemente automatisch aus und eingeschaltet,...
Das Konzept ist halt unter WinForms anders. Ich persönlich empfinde es sehr schwer die beiden Konzepte zu vergleichen, weil es am Ende hier bei WPF auf MVVM hinausläuft. Mit MVVM ist das ICommand Zeug ein Traum. MVVM kann man mit WinForms allerdings nicht verwenden. Ein simples MVC kann man mit WinForms verwenden, was aber dann wieder nicht mit WPF geht.
Daher läuft hier die Frage darauf hinaus, wie viel Overhead erzeugt mir das MVVM und wie viel gewinne ich davon. Weshalb ich z.B. davon sprach, dass für kleinere Anwendungen WinForms durchaus Sinn machen kann.
filö schrieb:
PS: Dialoge sind nicht unter System.Windows.* sondern unter Microsoft.Win32.
Ja, und was genau gibt es dort für Common Dialogs? Und ob ein bool? wirklich ein sinnvoller Rückgabewert für Dialogs ist, ist auch noch so eine Frage.
Grüssli