Существует подобный вопрос в WPF по сравнению с Windows Forms, которые имеют некоторую хорошую информацию, но в моем личном опыте я не вижу оснований для использования WPF по Winforms. С WPF первоначально был большой разговор о, это - многопоточная функциональность, но используемый я не вижу преимуществ.
У меня есть два приложения, которые делают то же самое, один в WPF и на в Winforms. Приложение Winforms сдувает приложение WPF с точки зрения производительности (фактором 10) и выглядит столь же хорошим.
Предоставленный я являюсь более опытным в приложениях Winforms, чем WPF.
Здесь есть еще одно обсуждение этой темы: Когда Windows Forms - лучший выбор по сравнению с WPF?
Приложение Winforms опровергает WPF приложение с точки зрения производительность (в 10 раз) и выглядит так же красиво.
WPF - это больше, чем просто модная графика ... Я не дизайнер, черт возьми, я совсем не разбираюсь в цветах (до такой степени, что моя невеста решила Я больше не могу покупать себе одежду) но мне нравится WPF. Поддержка DataBinding, например, потрясающая не говоря уже о том, насколько легко создать ItemTemplate для ListBox (не забудьте переопределить методы рисования в Windows Forms только для того, чтобы получить 2 строки текста и изображение в элементе ListBox?)
Что касается производительности ... в моем ощутить улучшение можно заметить только если вы используете Windows Vista / 7 с графическим процессором. (И, конечно же, способ написания кода.)
Возможно, Microsoft ошиблась, заявив, что WPF - это все о графике «розового слона», хотя она делает гораздо больше. (Они сделали аналогичную ошибку с поспешным выпуском Silverlight 1, который, по моему мнению, они должны были пропустить все вместе).
WPF
С другой стороны:
. Если производительность (скорость и требования к ресурсам) является вашим критерием для хорошей платформы пользовательского интерфейса для Windows, то победителем является собственное приложение Win32. Вы применяете другую технологию для того, что они могут предложить, и в конечном итоге WPF может предложить больше, чем WinForms.
Самая большая проблема с WPF заключается в том, что набор инструментов хромает, а время обучения огромно. До сих пор внедрение WPF было очень низким в основном из-за проблем, о которых я только что упомянул. Согласно Microsoft, будущее за WPF, и они вложили в него большие средства. Фактически следующая версия Visual Studio написана в WPF ( http://www.onedotnetway.com/writing-visual-studio-2010-shell-in-wpf-reflects-confidence/ )
Однако еще предстоит увидеть, станет ли когда-нибудь WPF мейнстримом. Фреймворк потрясающий, и он может делать действительно классные вещи, в основном связанные с красотой. Microsoft называет это UX, но на простом английском языке это радует. Большинству приложений он не нужен.
Самая большая причина использовать WPF не радует глаз. Реальный выигрыш заключается в надежности, производительности и том, что художники могут изменять внешний вид вашего пользовательского интерфейса без привлечения инженеров.
WinForms и WPF - отличные фреймворки, вопрос в том, что лучше всего подходит для вашего приложения. Если вам нужен гибкий графический интерфейс с анимированными элементами управления и очень тематическими стилями или вы просто создаете очень графический пользовательский интерфейс, WPF очень хорош для такого рода приложений. WinForms могут быть очень ограничивающими, потому что элементы управления - это то, чем они являются, вы можете создавать пользовательские элементы управления, чтобы добавлять к ним элементы, но изменение их внешнего вида может быть затруднительным, если у вас есть очень конкретный вид.
Было бы неплохо сравнить по разнице между приложением WinForms и приложением silverlight. Silverlight и WPF имеют общую структуру, и это поможет вам понять различия между ними.
Взгляните на эту библиотеку silverlight и wpf, и вы увидите некоторые вещи, которые можно сделать в среде wpf.
Библиотека Silverlight: http://demos.telerik.com/silverlight/
Библиотека WPF: http://demos.telerik.com/wpf/