Na sp1 heb ik het intensief bekeken maar ik kwam het veelvuldig tegen, en ben toen weer winforms gaan gebruiken.
Ik werk elke dag met 2008 SP1, en elke dag met WPF. En ik zie niet echt crashes. Zeldzaam eigenlijk. Misschien paar keer per maand. Geen idee wat jij doet waardoor je de IDE laat crashen, maar onze applicatie met honderden xaml files(welliswaar verspreid over een aantal assemblies) is prima handelbaar in de IDE. Dus ja, misschien doe je iets raars of zo??
Mijn ide crasht nooit, tenzij ik iets met wpf doe, dan gaat hij soms onderuit. Erg irritant. Winforms is zeker niet zaligmakend, laat dat duidelijk zijn, en als je from scratch met iets moet beginnen, dan is wpf wellicht de beste keuze want je moet toch het framework leren, maar hou wel rekening met slechtere tools, een kleiner aanbod controls, minder articles etc. Overigens hoor ik van anderen ook dat hun ide's crashen ivm wpf, niet dagelijks, maar wel regelmatig.
[...]
Juist dat 'saaie' werk is heerlijk in WPF op te lossen. Met DataTemplates, databinding(wat in WPF vele malen beter is dan in WinForms) en je domain modellen gaat het razendsnel.
Databinding in winforms werkt prima, je moet alleen weten wat je doen moet, en dat is met WPF niet anders: ook daar moet je werk verrichten en met dingen rekening houden. Onze nieuwe designer werkt met winforms en is compleet observer driven, omdat alles undo/redo aware is gemaakt. Via databinding is met weinig code veel productiviteit te halen, en het werkt ECHT wel goed. Ik schold vroeger ook op winforms databinding, maar het bleek gewoon dat ik niet doorhad hoe je het goed moet gebruiken. Met dependency properties en wat al niet meer heb je bij WPF hetzelfde: de basic troep werkt prima outofthebox, maar indien je iets complexere dingen gaat doen moet je ook daar opletten, net als bij winforms.
De fantastische geluiden die ik uit jouw posts opmaak hoorde ik vroeger ook over winforms hoor, en daarvoor over ATL, MFC etc. het is altijd prachtig, totdat je buiten de paden gaat, en dan moet je wel iets doen, dat is bij ieder framework zo, ook bij WPF.
[...]
Mijn ervaring is juist dat ik regelmatig het probleem had dat een standaard control die je kon vinden(vaak geen source bij) net niet het geen kon wat de ontwerpers wilden. Met WPF kan je relatief eenvoudig je eigen grids/lijstjes/controls maken die precies het geen doen wat jij/ik/de ontwerpers willen.
Mja, ik weet niet wat voor applicatie jij maakt, maar een line of business applicatie moet zo saai en zo voorspelbaar mogelijk zijn: dus zo dicht bij windows zitten als mogelijk. Geen fratsen, dat snapt de information worker niet. In winforms kan dat net zo goed. Wil je een special combobox? class deriven, paar regels code, klaar. Komt in de toolbox, sleur/pleur en je control zit op een form.
[...]
Klopt in principe wel, echter leent WPF zich er uitstekend voor om de UI volledig te scheiden van de logica dankzij het uitstekende binding mechanisme. Ik hoef geen rare fratsen uit te halen.
In winforms ook niet. Totdat je iets complex gaat doen en dat is bij wpf precies eender. Als een property wijzigt in code dan zal je toch iets moeten raisen wil wpf doorhebben dat die value wijzigt.
In ons project heeft geen enkele xaml(user controls, datatemplates etc) code behind. De volledige UI(letterlijk het geen dat de gebruiker ziet) kan zo overboord worden gegooid en er kan een nieuwe UI gemaakt worden door ontwerpers zonder dat dit de logica raakt. Ook is het erg eenvoudig om unit tests er op los te laten. Alle unit tests roepen de viewmodels aan, zonder ook maar 1 user control te raken terwijl wel alle business rules worden getest.
De UI logica zit echt ergens, is het niet in de code behind dan wel in een class die het managet. BL logica hoort niet in de UI, maar wat heeft dat met MVVM te maken? Een UI control die een event handler heeft die een BL method aanroept kan in iedere UI layer, met of zonder pattern.
Misschien heb ik vroeger niet zo goed opgelet, maar ik zou zo 123 niet weten hoe je dit goed en relatief snel onder winforms kan opzetten. Enlighten me??
Les 1 van software engineering: ook vroeger was men prima in staat om geweldige software te maken. De moraal van het verhaal is: met hype-of-the-day patterns als MVVM kun je wellicht iets maken, maar het is niet noodzakelijk om iets te doen met UIs en gescheiden lagen. Dat kon vroeger ook al, simpelweg door de code niet in de eventhandlers te prakken maar netjes gestructureerd te programmeren. Tegenwoordig moet een groep programmeurs daar per se een pattern voor gebruiken en dan ook nog 1 die nieuw is, anders gaat het kennelijk niet werken. Tja.

Tevens merk ik ook een voorkeur voor Winforms bij jou. Niks mis mee, ieder zijn ding

Ik ga ooit wel naar WPF kijken voor de 2e keer, het punt is alleen dat ik al vele jaren winforms doe en het ken als mn broekzak. Ook heb ik in de jaren daarvoor geleerd dat wat men je ook op de mouw speldt: een UI framework heeft altijd een 'dark side' en zolang je die niet kent is het een framework dat je alleen maar tijd kost: of dat nou winforms, WPF, silverlight, flash, ASP.NET, curses, Win32, MFC, VCL, X11 of wat voor frameworks men allemaal verzonnen heeft om UIs in te maken: je komt een heel eind, maar hou rekening met pitfalls die je veel tijd en dus geld gaan kosten, en wellicht je dwingen om dingen opnieuw te doen. Voor de topicstarter dus wel iets om rekening mee te houden, wat er ook gekozen wordt. Is er al kennis van een bepaald framework in huis, dan is het wellicht nuttig om daar op voort te borduren omdat je dan minder risico loopt voor pitfalls en dus geldverlies.
Want de consultant die wat artikeltjes online schrijft over <framework X> betaalt die verloren tijd niet, dat doe je zelf.