Chuyển từ Winforms sang WPF [đã đóng]


26

Tôi là một nhà phát triển Windows Forms có kinh nghiệm lâu năm , nhưng bây giờ đã đến lúc chuyển sang WPF vì một dự án WPF mới sẽ sớm đến với tôi và tôi chỉ có một thời gian ngắn để chuẩn bị học WPF.

Cách tốt nhất cho một devleoper Winforms có kinh nghiệm là gì?

Bạn có thể cho tôi một số gợi ý và đề xuất để học WPF trong một thời gian rất ngắn!

Có giải pháp WPF mẫu đơn giản và hướng dẫn ngắn (video) không? Những cuốn sách nào bạn đề nghị? Www.windowsclient.net có phải là điểm khởi đầu tốt không? Có những lựa chọn thay thế cho trang web chính thức của Microsoft?


Trong khi hầu hết các bài đăng ở đây đều đề cập đến MVVM, tôi sẽ đề nghị bạn hiểu XAML và các điều cơ bản ràng buộc trước khi bạn vào các khung công tác ưa thích.
NoChance

3
Tôi thực sự chỉ viết một bài đăng trên blog về sự thay đổi trong suy nghĩ cần thiết khi chuyển từ WinForms sang WPF . Nó rất cơ bản và sẽ không chứa mọi thứ bạn cần biết, nhưng tôi nghĩ nó vạch ra sự thay đổi trong quá trình suy nghĩ khá tốt, và một khi bạn hiểu điều đó, WPF trở nên dễ học và dễ hiểu hơn nhiều.
Rachel

Câu trả lời:


21

Đây là đề nghị của tôi.

  • Sử dụng MSDN
  • Tôi bắt đầu với trang này: wpftutorial
  • Tìm hiểu mẫu MVVM. Đây là một bài viết tốt .

Có một vài khung công tác MVVM. Câu hỏi này có thể giúp bạn chọn một.


Nhiều lựa chọn - câu trả lời tuyệt vời!
ozz

11

Tôi vừa mới trải qua điều này, vì vậy nó mới mẻ trong tâm trí tôi.

Cốt lõi là: Hệ thống thuộc tính phụ thuộc, Hệ thống sự kiện được định tuyến, Lệnh, Binding, INotifyPropertyChanged, Kiểu, Mẫu điều khiển, Mẫu dữ liệu, Mẫu phân cấp, Triggers, Tài nguyên, ObservableCollection

Mẫu khôn ngoan: MVVM, Đơn vị công việc, Kho lưu trữ và DI / IOC. MVVM là cái chính, những cái khác chỉ xuất hiện thường xuyên. Hiện tại có rất nhiều khung công tác hơn so với khi tôi bắt đầu trong WinForms. Trang web về Thực tiễn và Mô hình của Microsoft rất đáng xem, Prism khá tốt.

Pro WPF trong C # 2010 của Apress là cuốn sách yêu thích của tôi về chủ đề này, những cuốn hay khác bao gồm Illustrated WPF, WPF 4 được tung ra và Sams tự dạy WPF trong 24 giờ. Điều cuối cùng là dễ dàng để vượt qua vào một buổi chiều và sẽ trình bày chi tiết ở trên đủ để bạn bắt đầu.

Tôi đã tạo một sơ đồ cách đây một thời gian cho thấy hầu hết các đối tượng WPF cốt lõi phù hợp với hệ thống phân cấp. Nó khá thú vị, tôi sẽ thử và xuất bản nó ở đâu đó và thêm một liên kết ở đây sau.

Hãy thử và đảm bảo dự án bạn làm việc đang sử dụng WPF 4. Visual Studio 2010 đẹp hơn rất nhiều và WPF 4 bao gồm rất nhiều bản sửa lỗi đáng tin cậy giúp nó đáng tin cậy hơn, nhanh hơn và nhìn chung tốt hơn.

Chỉnh sửa: Tôi vừa thêm sơ đồ phân cấp lớp tôi đã đề cập. Tôi nghĩ nó tốt cho một cái nhìn tổng quan. Hãy xem và cho tôi biết nếu có bất cứ điều gì có vẻ sai :)

Hệ thống phân cấp lớp WPF


1

Tôi đang làm việc theo cách của mình thông qua WPF in Action . Bây giờ nó hơi cũ, nhưng nó cung cấp một giới thiệu tốt về mọi thứ. Tôi đang lên kế hoạch theo dõi với WPF 4 Unleashed để bắt kịp sự khác biệt giữa 3,5 và 4.

Tôi đã thử bắt đầu với cuốn sách Unleashed trước, nhưng nó đã di chuyển hơi chậm so với sở thích của tôi.


1

Tôi đã tìm thấy Tài liệu tham khảo của Lập trình viên WPF của Rod Stephens thực sự tốt. Nó không phải là tài liệu tham khảo, nhưng nó được viết bởi một người có thể giải thích mọi thứ. Nó sẽ không kéo dài toàn bộ sự nghiệp WPF của bạn, nhưng nó sẽ rút ngắn thời gian học tập ban đầu.


0

Để giới thiệu về tất cả các điều khiển, v.v. Tôi thấy thật hữu ích khi xem các mẫu trong msk ms - khoảng ở đây:

C: \ Tệp chương trình \ Microsoft SDKs \ Windows \ v6.1 \ Mẫu

SamplesGallery bên trong WPFSamples.zip có một cái nhìn tổng quan đẹp về nhiều điều khiển wpf, ràng buộc, hoạt hình, v.v.

Một trong những cuốn sách tôi thấy hữu ích là:

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

Nó có rất nhiều chi tiết hay mà bạn yêu cầu khi bạn đã biết winforms.

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.