MVVM: Tutorial od początku do końca?

Jestem programistą C# / Windows Forms z ponad 5-letnim doświadczeniem. Badałem WPF przy użyciu wzorca projektowego MVVM (Model-View-ViewModel). Przeszukałem Internet w poszukiwaniu tutoriali. Obejrzałem nawet cały zajebisty filmik Jasona Dolingera. Chociaż znalazłem wiele, nie znalazłem takiego, który zabierze mnie Od początku do końca. To, czego naprawdę chcę, to samouczek, który nie zakłada żadnej wcześniejszej wiedzy WPF.

Jakie są wasze ulubione tutoriale WPF-MVVM, które pomógł Ci się uczyć?

Author: Jon Clements, 2009-09-10

22 answers

Twoje pytanie wydaje się zadawać 2 pytania:

  1. Gdzie są dobre tutoriale na WPF, zakładając, że nie mam wcześniejszego doświadczenia z WPF?
  2. Gdzie są dobre tutoriale na temat uczenia się MVVM?

Niektóre z tych zasobów mogą być powielane w poprzednich odpowiedziach...

Tutoriale na WPF

MVVM Tutoriale

Composite WPF (Prism) Resources
Choć nie do końca co pytałeś, jest to naturalny postęp z WPF i MVVM.

 161
Author: Metro Smurf,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-19 19:32:56

Byłem ostatnio w dokładnie takiej samej sytuacji, kolego, i mogę ci powiedzieć, co zrobiłem.

Josh Smith "WPF Apps With the Model-View-ViewModel Design Pattern" Czytaj jeszcze raz, jeszcze raz i jeszcze raz: -) Pobierz kod, zbadaj, skompiluj i trzymaj go wokół

Fundacja MVVM

  1. zbadaj framework, użyj go w swojej aplikacji.
  2. spójrz na aplikację demonstracyjną w tym frameworku.

Brak prawdziwych samouczków od początku do końca, przepraszam...

 44
Author: Max Galkin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-11 16:22:05

Bardzo podobały mi się te artykuły:

  1. MVVM dla takich jak ja
  2. Jak zrobić aplikacje MVVM

On naprawdę ośmiesza koncepcję w humorystyczny sposób. Warto przeczytać.

 23
Author: JP Richardson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-14 18:56:42

Reed Copsey opublikował ładny samouczek , który pisze trywialną aplikację RSS w WinForms, następnie tworzy prosty port do WPF i ostatecznie konwertuje do MVVM. To miłe wprowadzenie do MVVM zanim spróbujesz zająć się pełnym opisem, jak artykuł Josha Smitha. Cieszę się, że przeczytałem samouczek Reeda przed artykułem Josha, ponieważ daje mi trochę kontekstu, aby zrozumieć szczegóły, w które Josh grzebie.

 15
Author: Don Kirkby,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:10:08
 11
Author: Michael Washington,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-08 20:12:35

Przeczytałam artykuł Josha Smitha i okazało się to bardzo trudne. Kiedy zrozumiałem, napisałem bardzo prosty, który powinien naprawdę zacząć. Pobierz to tutaj .

 10
Author: Abdulsattar Mohammed,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-24 11:57:40

Jest bardzo dobry film Techdays 2010 wprowadzenie do wzorca MVVM, jasno wyjaśnione:

 8
Author: Chris S,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-27 09:07:11

To nie jest samouczek, ale to diagram na Tej stronie, która pomogła mi ogarnąć mvvm.

 7
Author: Simon P Stevens,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-10 14:57:40

Jakiś czas temu byłem w podobnej sytuacji (mimo że miałem już trochę wiedzy na temat WPF), więc założyłem wiki społeczności. Jest tam wiele świetnych ressources:

Jakie aplikacje mogę studiować, aby zrozumieć (dane)Model-Widok-ViewModel?

 7
Author: bitbonk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 11:54:53

Mój blog ma kompletną serię samouczków zaczynających się od zera dla WPF MVVM i WPF Prism. Zajrzyj tutaj: http://blog.raffaeu.com/archive/2009/06/03/wpf-and-vmmv-tutorial-01-introduction.aspx

 6
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-01-09 16:40:13

Niektóre blogi/strony internetowe do sprawdzenia:

Obecnie Josh Smith ma Artykuł" From Russia With Love ", który może Ci się przydać.

 6
Author: Muad'Dib,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-18 18:56:38
 5
Author: Cocoa Dev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-11 18:35:58

Aby zobaczyć coś, co ukazało się nieco niedawno (w zeszłym miesiącu), zajrzyj do serii filmów Rainera Stropka MVVM w WPF i Silverlight

Przelatuje przez to, ale robi bardzo dobrą robotę przechodząc od początku do końca z rzeczywistą aplikacją.

 5
Author: James Skemp,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-22 22:56:26

Zobacz wideo z MVVM Jasona Dollingera na Lab49. Wykorzystywaliśmy to w przeszłości, aby szkolić nasz zespół na MVVM.

 5
Author: Brent Schooley,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-12 13:19:39

Nie pomijaj prezentacji Johna papy z konferencji PDC 2010. zobacz tutaj .

 4
Author: pencilCake,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-12-14 17:26:05

Napisałem aplikację wykorzystującą WPF, Prism i MVVM do symulacji wynajmu taksówki, możesz o tym przeczytać na moim blogu, pobrać źródło tutaj i pobawić się nim.

 4
Author: skjagini,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-13 23:44:37

Jeśli pochodzisz z winforms i szukasz tutoriala. Polecam Ci rozszerzenie MVVM Trainning dla visual studio: http://visualstudiogallery.msdn.microsoft.com/3ab5f02f-0c54-453c-b437-8e8d57eb9942 To samouczek z przykładami kodu. Samouczek jest podzielony na 3: Podstawowa aplikacja WPF, ta sama aplikacja w MVVM i ta sama za pomocą inwersji sterowania. Bardzo przydatne w Twoim przypadku:)

Ja też lubię te ones http://msdn.microsoft.com/en-us/magazine/dd419663.aspx http://karlshifflett.wordpress.com/mvvm /

A ten jest z pryzmatem. http://www.developmentalmadness.com/archive/2009/10/03/mvvm-with-prism-101-ndash-part-1-the-bootstrapper.aspx Jeśli myślisz o programowaniu aplikacji WPF za pomocą MVVM, może warto wziąć pod uwagę pryzmat]}

 4
Author: Asier Barrenetxea,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-01 09:21:47
 3
Author: Wegged,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-16 18:32:56
 3
Author: biju,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-05 04:18:37
 3
Author: pchajer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-14 01:41:32
 3
Author: Gurpreet Singh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-05 09:31:09

Oto bardzo dobry samouczek dla początkujących MVVM; http://geekswithblogs.net/mbcrump/archive/2010/06/27/getting-started-with-mvvm-general-infolinks.aspx [Pierwsze kroki z MVVM (Ogólne informacje+linki)]

 2
Author: Sunil,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-05 17:06:17