Все, что может быть сделано в XAML, также может быть выполнено в коде, поскольку XAML является просто DSL для создания экземпляров и настройки графиков объектов - в частности, графов объектов в библиотеке WPF (System.Windows
). Если вы создаете линейку бизнес-приложений, то WPF предлагает очень мало предложений, которые вообще не доступны в WinForms. Ключевое отличие заключается в том, что WPF позволяет вам гораздо проще и гибче выполнять многие задачи благодаря более продвинутой объектной модели.
Я думаю, что WPF, безусловно, стоит изучать, но если вы хотите сделать это без изучения XAML, то, я думаю, вы, вероятно, найдете его более сложным, грок.
Стоит также учитывать, что многие разработчики WPF пишут XAML вручную (тогда как их коллеги-дизайнеры с большей вероятностью будут использовать Blend в первую очередь) частично по необходимости (дизайнер WPF до Visual Studio 2010 был не очень хорош) ) и отчасти потому, что объектная модель поддается более краткому выражению в XAML, чем в C #. XAML сам по себе довольно маленький язык, но объектная модель, которую он использует для определения (объектная модель WPF), огромна - и вот откуда возникает сложность.
Если у вас нет веских причин прекратить использование WinForms, не делайте этого. Однако, если вы можете отложить в сторону свои предубеждения о написании кода на XML, а не на C #, то я думаю, что вы можете быть удивлены, как этот другой подход к созданию пользовательского интерфейса может очистить ваш код.