2010-08-30 25 views
6

Tại trường đại học chúng tôi dạy .NET (cả VB và C#) sử dụng Windows Forms. Chúng tôi muốn giới thiệu khái niệm về Windows Presentation Foundation (WPF) cho khóa học nâng cao của chúng tôi. Những nguyên tắc cơ bản của WPF mà sinh viên cần học để có được những kiến ​​thức cơ bản về WPF?Nguyên tắc cơ bản của WPF?

Ý tưởng là dành cho sinh viên sử dụng WPF trong ít nhất một trong sáu bài tập và để tìm hiểu tất cả các bài tập này WPF Fundamentals có vẻ hơi khó khăn. Ba điều cơ bản nào được coi là bắt buộc?

Thanx cho thời gian của bạn!

+6

wiki cộng đồng? – bitbonk

+0

Tôi nghĩ bạn có thể thấy rằng mọi người đều có một bộ khác nhau về những gì họ sẽ xem xét những thứ bắt buộc bạn cần phải học. – ChrisF

Trả lời

8

Đây là danh sách. Tôi đã chuẩn bị cho lập trình viên cơ sở của tôi.

1) Khái niệm cơ bản XAML & Điều khiển cơ bản như TextBox, Nút v.v.,
2) VisualTree và LogicalTree
3) Bọt và Tunneling

4) DependencyProperty
5) AttachedProperty

6) DataTemplate
7) ControlTemplate

8) Phong cách

9) DataBinding

Triggers:
10) EventTriggers
11) DataTriggers

MVVM Khái niệm cơ bản & Commands:
12) DelegateCommand
13) RelayCommand
14) ApplicationCommands
15) RoutedEvent
16) RoutedCommand

Transformations:
17) RenderTransform
18) LayoutTransform

Resources:
19) BinaryResource
20) LogicalResource
21) StaticResource
22) DynamicResource
23) RelativeResource

Panles và điều khiển cơ bản:
24) Layouts và Panels
25) UserControl
26) ContentControl
27) Một số Controls như Grid, TreeView và Charts

Giao diện và Bộ sưu tập:
28) IValueConverter
29) INotifyPropertyChanged
30) ObservableCollection
31) CollectionViewSource

HTH

+0

Ồ, đó là danh sách những thứ cần tìm hiểu. Tôi đánh giá cao nỗ lực của bạn, Avatar! Thanx! –

2

Dependency Properties, Routed Eventslayout model hoàn toàn cần thiết theo ý kiến ​​của tôi. Data Binding & MVVM tiếp theo.

Tôi không phải là một chuyên gia WPF, nhưng tôi nghĩ rằng về mặt kỹ thuật, WPF phức tạp hơn nhiều, Windows Forms và nếu sinh viên thường gặp sau, sẽ khó sử dụng mã "WPF-way" (đặc biệt, nếu không có nền html/xml). Tôi nghi ngờ, rằng nó có thể viết mã mạnh mẽ bằng cách sử dụng WPF mà không biết một số khía cạnh chính của nó. WPF thực sự là một lựa chọn tồi cho giao diện người dùng nhanh hoặc đơn giản. Cần một số lượng đáng kể thời gian học tập để tham gia.

+0

Đó là một điểm tốt! Giáo sư của tôi muốn tôi "thêm một vài viên đạn" vào WPF, nhưng những gì bạn thực sự nói đó không phải là cách để đi. Đây là đầu vào có giá trị quá tôi -Thanx! –

2

Tất cả đều được gọi là nguyên tắc cơ bản vì lý do. Bạn nên có ít nhất một sự hiểu biết cơ bản của tất cả chúng nếu bạn đang có kế hoạch xây dựng bất kỳ loại ứng dụng WPF thành công nào.

Nếu tôi phải duy nhất một số điều ra để lớp học của bạn ít nhất là có thể bắt đầu với việc xây dựng một cái gì đó, tôi sẽ có thể nói:

XAML và Binding dữ liệu đều musts. Thuộc tính phụ thuộc là một thứ hai gần. Đầu vào/Lệnh/Sự kiện định tuyến tất cả sẽ được bao gồm là tốt.

+0

Đó là suy nghĩ đầu tiên của tôi. Có lẽ người ta có thể bắt đầu vào một vài chủ đề cơ bản, xây dựng bộ xương với XAML và trong nhiệm vụ tiếp theo tiếp tục với các thuộc tính ràng buộc dữ liệu và phụ thuộc. Thanx cho đầu vào của bạn! –

6

Tôi thực sự không tin rằng ba hoặc bốn chủ đề là đủ. Nhưng nói về những ưu tiên cao nhất, tôi muốn nói

  1. XAML và đánh dấu mở rộng,
  2. Layout và pa-nô,
  3. sự kiện định tuyến,
  4. Dependency- và kèm theo tài sản.
+0

Thanx. Có lẽ người ta nên chia khóa học thành hai nửa để thay thế. WPF 50% và Windows Forms 50%? Đánh giá cao ý kiến ​​của bạn! –

1

Tôi tìm thấy cuốn sách "Ứng dụng = Code + Markup" của Charles Petzhold cực kỳ hữu ích khi tôi bắt đầu với WPF. Nửa đầu của cuốn sách hoàn toàn là mã C#, dạy các khái niệm cơ bản về WPF (các thuộc tính phụ thuộc, sự kiện, vv) mà không có XAML. Phần thứ hai của cuốn sách giới thiệu khái niệm XAML và cách nó liên quan đến mọi thứ bạn đã học được trong nửa đầu của cuốn sách. Nếu tôi đang dạy một lớp trên WPF, tôi chắc chắn sẽ sắp xếp mọi thứ theo cách tương tự - dạy các khái niệm trong mã đầu tiên, sau đó giới thiệu XAML.

+0

Đúng vậy.Học sinh đã quen thuộc với các khái niệm lập trình C# (và VB). Có lẽ người ta có thể làm việc nhanh hơn thông qua các khái niệm này và chú ý đến vAML khi phần đầu tiên được thực hiện từ cuốn sách. Thanx cho đầu vào của bạn! –

1

Mặc dù đây là khá chủ quan, tôi nghĩ rằng một tốt Bốn sẽ được (từ liên kết đó):

  • tử Tree và serialization: Đây là hoàn toàn mới từ WinForms để WPF và nhận được một sự hiểu biết về cách công việc của Visual and Logical tree là khá quan trọng trong việc hiểu cách mọi thứ được thực hiện trong WPF.
  • Sự kiện (WPF) - Một lần nữa, điều này thay đổi đáng kể từ WinForms và mang lại tất cả các tính năng của mô hình sự kiện WPFs.
  • Kiểu và mẫu - Đây là điều làm cho WPF trở nên sống động. Tất cả các ràng buộc với giao diện người dùng và những gì không thuộc loại này.
  • Hệ thống bố cục - Vâng, đó là WPF phải không? Bố trí là một phần không thể tách rời của quá trình.

Ngoài những điều này, Dependency Properties quan trọng cũng như ít nhất là hiểu cách XAML hoạt động. Có không "tùy chọn duy nhất" thực sự khi nói đến WPF. Đó là một cách hoàn toàn mới để làm việc nếu bạn đã làm việc với các mô hình như WinForms. Tôi sẽ cố gắng học càng nhiều càng tốt.

+0

Tham chiếu và sự khác biệt đối với WinForms là khá nhiều những gì tôi theo sau. Học sinh có kiến ​​thức tốt về WinForms từ khóa học trước (khóa học cơ bản .NET) - vì vậy tôi nghĩ ý tưởng của bạn rất tuyệt vời. Thanx! –

3

Nếu bạn nghĩ về cách cấu trúc khóa học một cách có cấu trúc, bạn nên xem xét Petzold's book. Cách ông cấu trúc các chương của mình hoạt động hoàn hảo cho các khóa học trực tiếp. Nó được điều chỉnh rất tốt về mặt lý thuyết và chúng tôi đã thực hiện một số kinh nghiệm tốt về cấu trúc một khóa học xung quanh cuốn sách này. Chúng tôi cũng đã thực hiện trải nghiệm mà nó hoạt động đặc biệt tốt cho những người có nền Windows Forms. Nó bắt đầu với mã chỉ (C#) và chỉ sau đó giới thiệu XAML. Điều này giúp rất nhiều để nắm bắt các khái niệm về khuôn khổ.

+0

Thanx cho đầu sách! Từ ToC nó trông giống như cái tôi cần đọc trước khi thay đổi bài tập và bài giảng cho khóa học mùa xuân. Thanx! –

+0

+1 cho Petzold's :) –

Các vấn đề liên quan