WPF, который UI легче разработать реализацию и поддержать, чем текущие альтернативы C#, поэтому если много Вашей кодовой базы ответственно за обработку UI, миграцию, может служить выгодный - в, Вы найдете, что Ваша команда сэкономит время имея дело с их уровнем UI. Если большая часть Вашего кода будет бизнес-логикой, то он не поможет всему так очень.
WPF:
Paint()
функция - WPF основан на сохраненном графическом режиме / основанная на дереве система рисунка. Наконец! Paint()
! ControlTemplates
состоит в том, где сложность начинается. Вы просто добавляете объекты к дереву дисплея и позволяете WPF волноваться об обновлениях. WPF:
Я думаю, что ключевое слово от Вашего исходного вопроса "необычно". Если Ваши клиенты действительно ожидают много блеска в поставляемом компоненте, то у Вас, вероятно, есть что-то для получения от переключения до WPF.
WPF радикально отличается от Windows Forms. Это означает большое обучение Вашей команде.
Мы просто оборачиваем проект, в котором самостоятельно и 4 других разработал довольно успешное, распределенное корпоративное приложение. Мы начали использовать Win32 и затем переключились на WPF после первого повторения для удовлетворения требованиям нашего эксперта по удобству использования. Вот мой опыт.
WPF имеет некоторых действительно, действительно замечательные особенности. В целом это делает действительно твердые вещи тривиальными (такие как создание полей списков, которые показывают богатые данные презентации, такие как изображения, смешанные с таблицами, копией, и т.д.), но в свою очередь может сделать, "это раньше было так легко в Win32", крайне печальном. Я работал в WPF в течение 6 месяцев теперь, и я все еще нахожу привязку данных поля комбинированного списка к XML dataprovider страшным опытом.
, Поскольку я уклонился к вышеупомянутому, WPF имеет некоторое великое и привязку not-so-great. Я люблю, как можно связать с XML-документом или встроенным фрагментом с помощью XPath, но я ненавижу, как можно только использовать встроенные обязательные проверки, если привязка является двухсторонней (и я вдвойне ненавижу, как Вы не можете вынудить встроенные обязательные проверки пасовать назад ввод данных пользователем к объекту, даже если данные выходят за пределы диапазона некоторого бизнес-правила).
WPF имеет огромную кривую обучения. Это даже не кривая - это - стена. Это - грубое движение. Это - совершенно другой способ работать с презентацией Windows, и, для меня так или иначе, требовалось большое чтение и проигрывание, прежде чем я начал чувствовать себя несколько комфортно. Это не самая легкая вещь в мире, но это позволяет Вам делать некоторый невероятно мощный материал (например, В нашем проекте я создал механизм формы, который создает абсолютные формы XAML из XML использование приблизительно 300 строк XSLT - вместе с полной привязкой и проверкой).
В целом, я чрезвычайно удовлетворен, что мы выбрали XAML, несмотря на кривую обучения, несколько ошибочную природу всего этого, и некоторые глубокие разочарования. Положительные стороны явно перевесили отрицательные стороны, и они позволили нам делать вещи, я не думал, были возможны без чрезвычайно тяжелого хита к производительности.
, Если бы Вы решаете пойти путем WPF, я настоятельно рекомендовал бы эти 2 книги:
Windows Presentation Foundation Unleashed, Adam Nathan является большим введением с насыщенным цветом! Это читает как блог и дает Вам большое большое введение - http://www.amazon.ca/Windows-Presentation-Foundation-Unleashed-WPF/dp/0672328917/ref=pd_ys_iyr3
Программирование WPF: Создание Windows Ui с Windows Presentation Foundation, Chris Продает. Больше детали и замечательная книга для сопровождения Развязанного WPF - http://www.amazon.co.uk/Programming-WPF-Building-Presentation-Foundation/dp/0596510373
Удачи!
WPF является очень новым подходом к разработке UIs. Единственная проблема состоит в том, что это представляет большое количество понятий, некоторые из тех только для сокрытия подробности XAML (XML). Это также страдает немного от астронавт архитектуры подход к дизайну, но в целом я довольно доволен им. Это делает вещи, что Вы прежде сказали бы, что никакой путь к, во что-то, что управляемо, чтобы сделать.
Я не был уверен сначала, большинство приложений, казалось, было довольно отстающим (предоставленный, WinForms не является молнией быстро ни один). Это, кажется, фиксируется с.NET 3,5 SP1, где они интегрировали аппаратное ускорение для многих методов.
интегрированная анимация / раскадровка / векторные возможности очень хороши и шаг в правильное направление. Если Вы получите власть Смешения Выражения, то Вы сможете моделировать приложения довольно быстро. Это ясные преимущества, по-моему.
В конечном счете, я не думаю, WinForms и более старые методы являются устойчивым выбором.
существует также Adobe Flex, Adobe/Macromedia имеют опыт в более мощных и 'захватывающих' решениях GUI из-за их опыта с Flash.
я просто надеюсь, что мы не заканчиваем с 10 другими VM's, установленными на настольном компьютере только для выполнения всех тех различных платформ...
ре:
воображение, сообщая
причудливость является, вероятно, одними из преимуществ WPF...
WPF позволяет Вам сделать некоторые удивительные вещи, и я ЛЮБЛЮ его..., но я всегда чувствую себя обязанным квалифицировать мои рекомендации, каждый раз, когда разработчики спрашивают меня, думаю ли я, что они должны перемещаться в новую технологию.
Ваши желающие разработчики (предпочтительно, НЕТЕРПЕЛИВЫЙ) для проведения времени, которое требуется, чтобы учиться использовать WPF эффективно? Я никогда не думал бы для высказывания этого о MFC, или Windows Forms или даже неуправляемом DirectX, но Вы, вероятно, НЕ хотите команду, пытающуюся "взять" WPF в течение нормального dev. цикла для поставлющегося продукта!
Делают по крайней мере один или два из Ваших разработчиков имеют некоторую чувствительность дизайна и делают у людей с заключительными полномочиями дизайна есть достойное понимание вопросов развития, таким образом, можно усилить возможности WPF создать что-то, что на самом деле ЛУЧШЕ, вместо просто более "красочного", показывая бесплатную анимацию?
Делает некоторый процент Вашей целевой клиентской базы, работает на интегрированных наборах графического процессора, которые не могли бы поддерживать функции, которые Вы планировали - или они все еще выполняют Windows 2000, которые устранили бы их как клиентов в целом? Некоторые люди также спросили бы, заботятся ли Ваши клиенты на самом деле о расширенном зрительном ряде, но, пережив внутреннюю компанию "Наши корпоративные клиенты не заботятся о цветах и изображениях" о дебатах в начале 1990-х, я знаю, что хорошо разработанные решения от Ваших конкурентов ЗАСТАВЯТ их заботиться, и реальный вопрос состоит в том, являются ли условия правильными, чтобы позволить Вам предложить что-то, что заставит их заботиться ТЕПЕРЬ.
проект включает наземную разработку, по крайней мере, для уровня представления, для предотвращения дополнительной сложности попытки сцепиться в несовместимые леса прежней версии (Совместимость с Windows Forms НЕ является бесшовной)?
Ваш менеджер может принять (или быть отвлечен от того, чтобы замечать), значительное ПОНИЖЕНИЕ производительности разработчика в течение четырех - шести месяцев?
Эта последняя проблема происходит из-за того, о чем мне нравится думать как природа "FizzBin" WPF с десятью различными способами реализовать любую задачу и никакую очевидную причину предпочесть, чтобы один подход к другому и мало руководства, доступного, помогли Вам сделать выбор. Не только будет недостатки любого выбора, который Вы делаете, становятся ясными только намного позже в проекте, но у Вас, как фактически гарантируют, будет каждый разработчик на Вашем проекте, принимающем другой подход, приводящий к сильной головной боли обслуживания. Самый печальный из всех несоответствия, которые постоянно сбивают Вас с толку, поскольку Вы пытаетесь изучить платформу.
можно найти больше всесторонней WPF-связанной информации в записи на моем блоге:
WPF - это текущее «состояние искусства» в методологиях UI. Было бы доступно, поскольку люди учатся написать UIS (вместо GDI, Win32, а позже WinForms, которые относительно похожи), это не так много времени, чтобы узнать его. Возможно, вы можете подумать об этом, как переключение на клавиатуру DVORAK - самая сложная часть меняет ваше мышление о частях дизайна UI, который вы думаете, вы хорошо знаете.
, которые сказали, что вы должны хотя бы поощрять членов вашей команды экспериментировать с WPF в свободное время. Сделайте ресурсы, доступные с самого начала, возможно, следующим образом: