Ứng dụng giao diện điều khiển rõ ràng là điểm khởi đầu: giao diện người dùng là một khu rừng rộng lớn, và không có ý thức cố gắng vượt qua nó cho đến khi bạn phát triển khả năng để tìm những con đường mòn trong vùng hoang dã. Ngoài ra, không có gì là bạn sẽ học cách làm các ứng dụng giao diện điều khiển không áp dụng được trong mọi thứ khác bạn làm trong C#.
Bước tiếp theo sau đó là tìm hiểu cách xây dựng giao diện người dùng. Tôi sẽ đưa ra vấn đề với những người cho rằng bạn chọn WinForms: Vâng, có rất nhiều thông tin về cách sử dụng nó, và có rất nhiều công cụ, và đơn giản nhất là nó khá dễ hiểu. Nhưng có hai vấn đề với WinForms.
Đầu tiên, rất nhiều thứ mà WinForms làm cho dễ dàng như vậy thực sự là thực hành lập trình cực kỳ kém. Việc kết hợp logic nghiệp vụ và thuyết trình trong cùng một lớp là tiêu chuẩn trong lập trình WinForms, và phải mất một lượng công sức để phá vỡ thói quen đó, đặc biệt là từ ràng buộc dữ liệu - một công cụ quan trọng trong việc tách mô hình dữ liệu khỏi bản trình bày. WinForms, trong khi đó là trung tâm của kiến trúc của WPF. Có rất nhiều điều cần tìm hiểu với WPF - một số lô hàng nhiều hơn - nhưng bạn sẽ viết nhiều chương trình tốt hơn.
Thứ hai, WinForms sắp hết hạn sử dụng. Bạn sẽ không thấy Microsoft đổ thêm tài nguyên để cải thiện nó. Họ đã xong.Điều này hầu như không có nghĩa là nó sẽ không có ích trong tương lai - đó là - nhưng sự thâm nhập tổng thể của nó trong hệ sinh thái phát triển phần mềm là, ngay bây giờ, lớn như nó từng có.
Một lý do khác để đi với WPF là hầu hết những gì bạn học làm việc với WPF cũng được áp dụng cho Silverlight, mở ra một cánh cửa sẽ được đóng vĩnh viễn với WinForms.
Theo như ASP.NET là có liên quan, đó là một cái gì đó mà bạn không muốn tìm hiểu cho đến khi bạn cần.
Nguồn
2010-06-19 23:16:11
Tôi đồng ý. Tôi cũng sẽ thêm điều đó cho một người mới bắt đầu mà chưa bị hỏng bởi WinForms, WPF là một mô hình dễ hiểu và dễ làm việc hơn nhiều.Ví dụ, mã WinForms cơ bản nhất để thêm các nút vào một biểu mẫu lập trình yêu cầu bạn tính toán và thiết lập tọa độ của chúng. Với WPF bạn không phải đối phó với các tọa độ ở tất cả - các ItemsControl xử lý điều đó cho bạn. Có rất nhiều ví dụ khác tôi có thể đưa ra điều này. –
Tháng trước, tôi đã giới thiệu 12 đứa trẻ với các khái niệm cơ bản về lập trình, C# và WPF, tất cả chỉ trong 7 giờ. Đến cuối lớp học của chúng tôi, họ đã viết mã C# thực với các điều kiện và vòng lặp, tạo và sử dụng các đối tượng, và thiết kế giao diện người dùng, bố cục và hoạt ảnh. Và họ thực sự hiểu những gì họ đang làm. Tôi đã dạy các kỹ năng tương tự cho người mới bắt đầu trở lại trong những ngày của WinForms. Thật tuyệt vời với tôi, tôi đã dạy cho người mới bắt đầu sử dụng WPF và Expression Blend một cách mượt mà và dễ dàng hơn nhiều. –
Một số điều cần ghi nhớ nếu bạn quyết định đi theo lộ trình WPF: Cần sử dụng phiên bản mới nhất của Visual Studio để được hỗ trợ tốt. Các phiên bản cũ hơn khá lỗi. Có thể không chạy trên phần cứng hoặc netbook cũ vì yêu cầu hỗ trợ video phần cứng Rất nhiều mã cũ vẫn sử dụng WinForms – daveangel