Переход от Winforms к WPF [закрыто]


26

Я являюсь опытным разработчиком Windows Forms , но теперь пришло время перейти на WPF, потому что скоро мне придет новый проект WPF, и у меня есть только короткое время, чтобы подготовиться к изучению WPF.

Каков наилучший способ для опытного разработчика Winforms?

Можете ли вы дать мне несколько советов и рекомендаций для изучения WPF в очень короткие сроки!

Существуют ли простые примеры решений WPF и короткие (видео) учебники ? Какие книги вы рекомендуете? Является ли www.windowsclient.net хорошей отправной точкой? Есть ли альтернативы официальному сайту Microsoft?


Хотя в большинстве постов здесь упоминается MVVM, я бы посоветовал вам сначала ознакомиться с XAML и основами связывания, прежде чем переходить к причудливым средам.
NoChance

3
На самом деле я только что написал сообщение в блоге об изменении мышления, необходимого при переходе с WinForms на WPF . Он очень простой и не будет содержать всего, что вам нужно знать, но я думаю, что он достаточно хорошо описывает изменения в мыслительном процессе, и как только вы это поймете, WPF станет намного легче изучать и понимать.
Рэйчел

Ответы:


21

Это моя рекомендация.

  • Использовать MSDN
  • Я начал с этого сайта: wpftutorial
  • Изучите шаблон MVVM. Это хорошая статья .

Существует несколько платформ MVVM. Этот вопрос может помочь вам выбрать один.


Несколько вариантов - отличный ответ!
Оз

11

Я только что прошел через это, так что это свежо в моей голове.

Основными являются: система свойств зависимостей, система маршрутизируемых событий, команды, привязка, INotifyPropertyChanged, стили, шаблоны элементов управления, шаблоны данных, иерархические шаблоны, триггеры, ресурсы, ObservableCollection.

Мудрый образец: MVVM, Единица работы, Хранилище и DI / IOC. MVVM - основной, остальные просто появляются часто. Сейчас вокруг гораздо больше фреймворков, чем когда я начинал в WinForms. Сайт Microsoft Patterns and Practices стоит посмотреть, Prism довольно хорош.

Pro WPF в C # 2010 от Apress - моя любимая книга на эту тему, другие хорошие включают в себя иллюстрированный WPF, выпущенный WPF 4 и Sams научит себя WPF за 24 часа. Последний легко пройти через полдня и достаточно подробно расскажет об этом, чтобы вы могли начать.

Недавно я создал диаграмму, показывающую, как большинство основных объектов WPF вписываются в иерархию. Это довольно интересно, я постараюсь опубликовать это где-нибудь и добавить ссылку здесь позже.

Попробуйте и убедитесь, что в проекте, над которым вы работаете, используется WPF 4. Visual Studio 2010 намного лучше, а WPF 4 содержит множество существенных исправлений, которые делают его более надежным, быстрым и, как правило, лучше.

Изменить: я только что добавил диаграмму иерархии классов, которую я упомянул. Это хорошо для обзора, я думаю. Посмотрите и дайте мне знать, если что-то выглядит не так :)

Иерархия классов WPF


1

Я пробираюсь через WPF в действии . Это немного устарело, но дает хорошее представление о вещах. Я планирую развить WPF 4 Unleashed, чтобы наверстать разницу между 3.5 и 4.

Сначала я попытался начать с книги Unleashed, но она двигалась слишком медленно, на мой взгляд.


1

Я нашел Справочник программиста WPF Рода Стивенса действительно хорошим. Это не справочное руководство, но оно написано кем-то, кто может что-то объяснить. Это не продлится всю вашу карьеру в WPF, но сократит начальную кривую обучения.


0

Для ознакомления со всеми элементами управления и т. Д. Я посчитал полезным посмотреть образцы в ms sdk - примерно здесь:

C: \ Program Files \ Microsoft SDKs \ Windows \ v6.1 \ Samples

SamplesGallery внутри WPFSamples.zip содержит хороший обзор многих элементов управления wpf, привязки, анимации и т. Д.

Одна из книг, которые я нашел полезными, была:

http://www.amazon.com/Windows-Presentation-Foundation-Unleashed-WPF/dp/0672328917

В нем много хороших деталей, которые вы просите, когда уже знаете winforms.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.