Подтвердить что ты не робот

Как начать разработку WPF?

Я использую Winforms с .NET 1.1, и я хочу начать изучение WPF.

Я ищу хорошие ресурсы для начинающих в WPF. Что я должен прочитать, какие инструменты мне нужны, и каковы наилучшие методы, которыми я должен следовать?

4b9b3361

Ответ 1

Пожалуйста, посмотрите fooobar.com/questions/4459/..., в котором есть список рекомендаций по книге.

С точки зрения передового опыта ознакомьтесь с образцом M-V-VM. Кажется, он получил наибольшее сцепление на WPF-земле.

Отметьте этот пост, какие инструменты вы можете использовать для разработки WPF.

Форум MSDN - отличное место для ресурсов, а также файлы справки MSDN в WPF.

Моя личная рекомендация - забыть все, что вы узнали о WinForms. WPF - совершенно другая модель, и как только я, наконец, отбросил свой "я сделал это в WinForms, но в WPF не работает", у меня был один из этих "ламповых" моментов.

Надеюсь, это поможет!

Ответ 2

Кривая обучения высока, но есть много действительно хороших ресурсов. И документация MSDN и образцы SDK (как некоторые уже упоминались) действительно хороши.

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

Уже упомянутые книги WPF ценны по-своему. Мой личный опыт заключался в том, что я сначала получил копию WPF Unleashed и попробовал прочитать ее безрезультатно. Только когда я поднял приложение Charles Petzold Application = Code + Markup и прочитал некоторые из них... прежде чем я мог даже начать понимать WPF Unleashed. Тем не менее, мой мозг нуждается в деталях до того, как концепции действительно утонут в...

У Тима Снейта есть отличный список блоггеров WPF, который я нашел ценным, чтобы попасть в сообщество WPF: Блогеры WPF

Несколько блогов в моем списке должны быть прочитаны:

Еще одна вещь, которую я хотел бы сделать, это получить библиотеку фрагментов Dr. WPF (расположенную здесь). Это очень хороший способ изучить некоторые основные концепции типа сантехники, такие как свойства зависимостей, маршрутизированные события и маршрутизированные команды.

Наконец, я бы получил копию Blend (v2.5 все еще в бета-версии и бесплатно) и используйте это для генерации xaml, а затем погрузитесь в сгенерированный xaml, чтобы понять, что вы делали в Blend, сопоставляете API WPF.

Надеюсь, это поможет. Удачи.

Ответ 3

1 Начните понимать XAML и управлять heirarchies - разметку UI и новые термины и функции вокруг него. KaXaml - отличный инструмент для изучения XAML, бесплатно скачать http://www.kaxaml.com/

2 Поскольку у вас уже есть большой опыт работы с .NET, перейдите непосредственно к образцам SDK и начните работать в нем и посмотрите, что такое happeing, играйте с XAML. http://msdn.microsoft.com/en-us/library/ms771449.aspx

3 Если вы ищете ресурсы в блогах, вот мое лучшее предложение

Но выбор простого сценария пользовательского интерфейса, который вы уже реализовали или где-то видели, и попробовать его реализовать в WPF. Это, вероятно, лучший подход к изучению новой технологии.

И, пожалуйста, не бойтесь MVVM, эти вещи пригодится позже, когда вы познакомитесь с платформой WPF и XAML.

Ответ 4

Я бы рекомендовал книгу Windows Presentation Foundation Unleashed от Адама Натана

Тогда я бы рекомендовал вам написать приложение. Как и в любой другой среде, нет идеальных рекомендаций. Вы должны найти те, которые имеют наибольший смысл для ваших обстоятельств. Единственный способ сделать это - просто начать кодирование.

Что касается инструментов, Visual Studio 2008 [Express] - ваш лучший выбор. Или вы можете хромать вместе с XamlPad.

Ответ 5

Адам Натан - WPF Unleashed, книга очень хорошая.

Ответ 6

Я также очень рекомендую использовать Blend вместе с VS 2008. Blend отлично подходит для создания анимаций.

Blend 2.5 Preview можно свободно загрузить.

Мне нравится Блог дизайнера WPF, в котором есть несколько полезных уроков о том, как сделать материал WPF в Blend.

Ответ 7

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

Kaxaml - нет ни одного, лучшего свободного редактора xaml. Он имеет библиотеку фрагментов, IntelliSense, разделенный вид, скруббер xaml (довольно печатный) и т.д.

Мне только хотелось бы, чтобы мы могли подключить некоторые сборки (которые вы могли бы ссылаться на xaml)...

Робби Ингебретсен, ты качаешься.

Ответ 8

Освоение WPF (и Silverlight, и в основном любого векторного XAML.net богатого пользовательского интерфейса) требует больше, чем понимания новых концепций разработки (и их много). Его недостаточно для полного понимания свойств зависимостей, прикрепленных свойств, шаблонов, привязки данных, стилей, MVVM, механизма компоновки, визуальных состояний и частей, эффектов, маршрутизируемых событий... Чтобы действительно знать свой путь, вам нужно понять некоторые основные концепции графики (например, векторная графика, растровая графика, рендеринг, многоуровневая графика, анимация, пиксельные шейдеры, градиенты, геометрия, пути, кисти, матрицы преобразования и т.д.). В дополнение к этому вам нужно изучить и понять M-V-VM, который не просто новый шаблон дизайна - это совершенно новая парадигма программирования. Поэтому есть чему поучиться... и проблема в том, что независимо от того, какую начальную точку вы выбираете, вы всегда чувствуете, что чего-то не хватает.

Я попробовал несколько книг в качестве отправной точки, и многие из них меня смутили. Затем я нашел "Illustrated WPF" Даниэля М. Солиса, и этот трюк сделал для меня. Он объясняет концепции из мира графики таким образом, который понятен разработчикам, а затем преподает все новые концепции пользовательского интерфейса на основе XAML, слегка касаясь каждой темы и погружаясь в конкретные темы с помощью демонстрации. Просто следуя учебным пособиям, вы обнаружите, что вы многому научились и, что более важно, устранили фактор страха.

Как только вы овладеете этим, вы можете перейти к "WPF Unleashed" Адама Натана и погрузиться глубже. Это дает вам гораздо более глубокое представление о концепциях, которые уникальны для WPF, и я считаю, что у вас гораздо больше шансов понять, как только вы увидели каждую функцию хотя бы один раз. Они как-то все дополняют друг друга и имеют смысл только вместе.

У вас все еще есть тонны, чтобы учиться после этого, но на этом этапе вы сможете разрабатывать богатые приложения и изучать новые темы, когда идете...

Наслаждайтесь: -)

Ответ 9

Visual Studio 2008 (есть бесплатная версия Express). Это все необходимые инструменты.

Затем попробуйте несколько видеороликов. Здесь хорошее начало: http://windowsclient.net/learn/videos_wpf.aspx

Ответ 11

Я смиренно предлагаю взглянуть на свой блог, 2000 вещей, которые вы должны знать о WPF, где я размещаю отдельную информацию на WPF каждый день. Блог начинается с первых принципов и постепенно переходит в более сложные темы, поэтому это хорошее место для начала, как новичок.

Ответ 13

Один ресурс, который я нашел, действительно помог мне в jfo-кодировании: http://blogs.msdn.com/jfoscoding/articles/765135.aspx

Документ озаглавлен "WPF для тех, кто знает WinForms", что является именно той позицией, которую я занимал в прошлом году!