MVVM: Hướng dẫn từ đầu đến cuối?


243

Tôi là lập trình viên C # / Windows Forms với hơn 5 năm kinh nghiệm. Tôi đã nghiên cứu WPF bằng cách sử dụng mẫu thiết kế MVVM (Model-View-ViewModel). Tôi đã tìm kiếm trên Internet các hướng dẫn. Tôi thậm chí đã xem toàn bộ video tuyệt vời của Jason Dolinger. Mặc dù tôi đã tìm thấy nhiều, tôi không tìm thấy cái nào đưa tôi từ đầu đến cuối. Điều tôi thực sự muốn là một hướng dẫn không thừa nhận bất kỳ kiến ​​thức WPF nào trước đó.

Các hướng dẫn WPF-MVVM yêu thích của bạn đã giúp bạn tìm hiểu là gì?

Câu trả lời:


161

Câu hỏi của bạn thực sự có vẻ như đang hỏi 2 câu hỏi:

  1. Đâu là một số hướng dẫn tốt về WPF, giả sử tôi không có kinh nghiệm về WPF trước đây?
  2. Đâu là một số hướng dẫn tốt về việc học MVVM?

Một số tài nguyên này có thể được nhân đôi trong các câu trả lời trước ...

Hướng dẫn về WPF

Hướng dẫn MVVM

Tài nguyên WPF tổng hợp (Lăng kính)
Mặc dù không chính xác những gì bạn đã hỏi, nhưng đó là sự tiến triển tự nhiên với WPF và MVVM.


44

Gần đây tôi đã ở trong tình trạng tương tự, bạn đời, và tôi có thể nói với bạn những gì tôi đã làm.

Josh Smith "Các ứng dụng WPF với Mẫu thiết kế Model-View-ViewModel" đọc đi đọc lại :-) tải xuống mã, kiểm tra, biên dịch và giữ nó xung quanh

Nền tảng MVVM

  1. Kiểm tra khung, sử dụng nó trong ứng dụng của bạn.
  2. Nhìn vào ứng dụng Demo trong khung đó.

Không có hướng dẫn bắt đầu để kết thúc thực sự, xin lỗi ...


+1, đây là bài viết giúp tôi bắt đầu với MVVM và nó thực sự hay
Thomas Levesque

3
Tôi thấy rằng bài viết quá xa hoa và đầy lông tơ là một giới thiệu hữu ích. May mắn thay, bây giờ có một số ví dụ tốt hơn như waf.
Damien

+1 đồng ý; bài viết MSDN được đề cập chắc chắn là cách đúng đắn để bắt đầu với WPF w / MVVM
Lynn Crumbled


15

Reed Copsey đã xuất bản một hướng dẫn hay , viết một ứng dụng RSS tầm thường trong WinForms, sau đó chuyển thẳng sang WPF và cuối cùng chuyển đổi thành MVVM. Nó giới thiệu tốt về MVVM trước khi bạn thử và giải quyết một mô tả đầy đủ như bài viết của Josh Smith . Tôi rất vui vì tôi đã đọc hướng dẫn của Reed trước bài viết của Josh, bởi vì nó cho tôi một bối cảnh nhỏ để hiểu các chi tiết mà Josh đang đào sâu vào.





7

Đây không phải là một hướng dẫn, nhưng nó là sơ đồ trên này trang đó đã giúp tôi có được MVVM xung quanh đầu tôi.




6

Một số blog / trang web để kiểm tra:

Hiện tại, Josh Smith có một bài viết " From Russia With Love " có thể giúp ích cho bạn.


1
tốt, bài viết "From Russia With Love" khá hay, nhưng tôi nghĩ nó dành cho những người đã có kiến ​​thức về MVVM ...
Thomas Levesque

+1 cho liên kết đến Tiến sĩ WPF. Các bài viết, mẫu và đoạn trích của anh ấy thực sự giúp tôi tăng tốc trên WPF.
dthrasher


5

Đối với một cái gì đó được phát hành gần đây một chút (tháng trước), hãy xem loạt video MVVM của Rainer Stropek trong WPF và Silverlight

Anh ta bay thẳng qua nó, nhưng làm một công việc cực kỳ tốt từ đầu đến cuối với một ứng dụng thực tế.


Đây là một bộ video hoàn toàn tuyệt vời. Cuộc gọi tốt
quỷ dữ



4

Tôi đã viết một ứng dụng bằng WPF, Prism và MVVM để mô phỏng việc thuê một chiếc taxi, bạn có thể đọc về nó trên blog của tôi, tải về nguồn ở đây và chơi với nó.


4

Nếu bạn đang đến từ winforms và bạn đang tìm kiếm một hướng dẫn. Tôi khuyên bạn nên mở rộng MVVM Trainning cho studio trực quan: http://visualstudiogallery.msdn.microsoft.com/3ab5f02f-0c54-453c-b437-8e8d57eb9942 hướng dẫn bằng các ví dụ mã. Hướng dẫn được chia thành 3: Ứng dụng WPF cơ bản, cùng một ứng dụng trong MVVM và cùng sử dụng Inversion of control. Khá hữu ích trong trường hợp của bạn :)

Tôi cũng thích những cái này http://msdn.microsoft.com/en-us/magazine/dd419663.aspx http://karlshifflett.wordpress.com/mvvm/

và cái này là với Prism. http://www.developmentalmadness.com/archive/2009/10/03/mvvm-with-prism-101-ndash-part-1-the-bootstrapper.aspx Có thể đáng để xem Prism nếu bạn đang suy nghĩ để lập trình các ứng dụng WPF với MVVM






Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.