Οδηγός WPF για αρχάριους: Πώς να δημιουργήσετε εφαρμογή [Παράδειγμα]
Τι είναι το WPF;
WPF είναι ένα πλαίσιο για την κατασκευή Windows εφαρμογές που επιτρέπουν στους χρήστες να αναπτύσσουν πλούσιες διεπαφές χρήστη με τρισδιάστατα κινούμενα σχέδια και πλούσια χρώματα με λιγότερη πολυπλοκότητα κώδικα. Είναι μια μηχανή απόδοσης που βασίζεται σε διανύσματα που χρησιμοποιεί επιτάχυνση υλικού σύγχρονων καρτών γραφικών, γεγονός που καθιστά το Ul ταχύτερο και εξαιρετικά επεκτάσιμο. Το WPF σημαίνει Windows Παρουσίαση Foundation.
Το WPF μπορεί να θεωρηθεί ως εξέλιξη σε σχέση με το WinForms. Παράγει εύκολο στη χρήση σύστημα γραφικής απεικόνισης για Windows. Προσφέρει εύκολο διαχωρισμό μεταξύ διεπαφής χρήστη και επιχειρηματικής λογικής.
Οι εφαρμογές WPF μπορούν να αναπτυχθούν στο σύστημά σας ως αυτόνομο πρόγραμμα επιτραπέζιου υπολογιστή ή να φιλοξενηθούν ως ενσωματωμένο αντικείμενο σε έναν ιστότοπο.
Γιατί WPF;
Υπάρχουν πολλοί λόγοι για τη χρήση της πλατφόρμας WPF, κάποιοι από αυτούς είναι εξέχοντες:
- Μια ιδανική πλατφόρμα για χρήση εάν θέλετε να ασχοληθείτε με διάφορους τύπους μέσων
- Το WPF σάς επιτρέπει να δημιουργήσετε μια διεπαφή χρήστη. Σας βοηθά επίσης όταν χρειάζεται να φορτώσετε τμήμα του UI ή θέλετε να δεσμεύσετε δεδομένα XML
- Σας επιτρέπει να επωφεληθείτε από τη μεγάλη βιβλιοθήκη κλάσης .NET όπως είναι ενσωματωμένη Τεχνολογία .NET
- Ανεξαρτησία ανάλυσης, έτσι οι εφαρμογές που έχουν αναπτυχθεί με χρήση WMF μπορούν να εκτελεστούν σε κινητές συσκευές ή οθόνη 20 ιντσών
- Το WPF βασίζεται στο DirectX αντί στο WinAPI. Προσφέρει το σύστημα γραφικών του υπολογιστή-πελάτη. Επομένως, προσφέρει μεγαλύτερη ισχύ απόδοσης γραφικών
- Υποστηρίζει ένα μοντέλο εγγράφου ροής που επιτρέπει την ποιότητα της διάταξης "δημοσίευση επιφάνειας εργασίας".
- Η εμφάνιση και η συμπεριφορά συνδέονται χαλαρά. Αυτό επιτρέπει στους σχεδιαστές και τους προγραμματιστές να εργαστούν σε δύο ξεχωριστά μοντέλα
- Στο πλαίσιο WMF μπορείτε να σχεδιάσετε γραφικά εργαλεία σε απλά έγγραφα XML αντί για ανάλυση κώδικα
- Σας επιτρέπει να χρησιμοποιείτε την επιτάχυνση υλικού για τη σχεδίαση του GUI, για καλύτερη απόδοση
Ιστορία του WPF
Windows Το 1.0 ήταν το πρώτο περιβάλλον GUI από Microsoft. Λειτουργεί ως στρώμα πάνω από το DOS, βασιζόμενο στα συστήματα GDI και USER για γραφικά και διεπαφή χρήστη.
Το DirectX εισήχθη το έτος 1995, ως σύστημα γραφικών υψηλής απόδοσης. Απευθύνεται σε παιχνίδια και άλλα περιβάλλοντα που σχετίζονται με γραφικά. Με τα χρόνια υπάρχουν πολλές εκδόσεις που έχουν κυκλοφορήσει με το Directx9 που παρέχει μια βιβλιοθήκη για χρήση με τον κώδικα mange.Net.
Έκδοση WPF | Έτος έκδοσης | Έκδοση .Net | Έκδοση Visual Studio | Χαρακτηριστικά |
---|---|---|---|---|
3.0 | 2006 | 3.0 | Ολοκληρώστε τις επιλογές σας | Αρχική έκδοση. Ωστόσο, η ανάπτυξη του WPF μπορεί να γίνει με το VS 2005. |
3.5 | 2007 | 3.5 | ΗΠΑ 2008 | Τροποποίηση και βελτιώσεις σε: Μοντέλο εφαρμογής, βιβλιοδεσία, στοιχεία ελέγχου, έγγραφα, σχολιασμοί και στοιχεία 3-D Ul. |
3.5 SP1 | 2008 | 3.5 SP1 | Ολοκληρώστε τις επιλογές σας | Υποστήριξη εγγενούς εκκίνησης οθόνης. Νέος έλεγχος προγράμματος περιήγησης ιστού, υποστήριξη σκίασης εικονοστοιχείων DirectX. |
4.0 | 2010 | 4.0 | ΗΠΑ 2010 | Νέα στοιχεία ελέγχου: Ημερολόγιο. DataGrid, DatePicker. Multi-Touch και χειρισμός |
4.5 | 2012 | 4.5 | ΗΠΑ 2012 | Ταχύτερος χρόνος εγκατάστασης και βελτιωμένη απόδοση για εφέ Bitmap. Νέα στοιχεία ελέγχου: Ημερολόγιο. DataGrid, DatePicker. Multi-Touch και χειρισμός |
4.5.1 | 2013 | 4.5.1 | ΗΠΑ 2013 | Νέος έλεγχος κορδέλας Νέα διεπαφή INotifyDataErrorlnfo |
4.5.2 | 2014 | 4.5.2 | NA | Καμία σημαντική αλλαγή Καμία σημαντική αλλαγή |
4.6 | 2015 | 4.6 | ΗΠΑ 2015 | Διαφανής υποστήριξη παιδικού παραθύρου Βελτιώσεις HDPI και Touch |
Η τελευταία σταθερή έκδοση του WPF 5.0.6 που κυκλοφορεί τον Απρίλιο του 2021.
Χαρακτηριστικά του WPF

- Έγγραφα και Εκτύπωση
- Ασφάλεια, προσβασιμότητα και τοπική προσαρμογή
- Προσφέρει διαλειτουργικότητα με Windows Στοιχεία ελέγχου φορμών
- Το Direct3D χρησιμοποιείται σε γραφικές εφαρμογές όπου η απόδοση είναι σημαντική
- Χρησιμοποιεί το υλικό της κάρτας βίντεο για απόδοση
- Τα διανυσματικά γραφικά σάς επιτρέπουν να κλιμακώνετε την εφαρμογή σας χωρίς απώλεια ποιότητας
- Το WPF υποστηρίζει σύστημα λογικών pixel κινητής υποδιαστολής και χρώμα ARGB 32 bit
- Επαναπροσδιορίστε τα στυλ και τα πρότυπα ελέγχου
- Δημιουργία διεθνών γραμματοσειρών από σύνθετες γραμματοσειρές
- Η απόδοση κειμένου WPF σάς βοηθά να εκμεταλλευτείτε την τεχνολογία ClearType
- Σας επιτρέπει να χρησιμοποιήσετε την τεχνική προσωρινής αποθήκευσης προ-απόδοσης κειμένου στη μνήμη βίντεο
- Προσέγγιση βασισμένη σε πόρους για κάθε έλεγχο
- Τα χρονόμετρα παρουσίασης αρχικοποιούνται και διαχειρίζονται από το WPF
- Υποστηρίζεται επίσης η σχέση μεταξύ βίντεο και κινούμενων εικόνων
- Στο WPF ένα στυλ είναι ένα σύνολο ιδιοτήτων που πρέπει να εφαρμοστούν σε περιεχόμενο που χρησιμοποιείται για οπτική απόδοση
- Τα πρότυπα στο WPF σάς βοηθούν να αλλάξετε το U του εγγράφου σας
- Οι εντολές είναι πιο αφηρημένες και χαλαρά συνδεδεμένες εκδοχές γεγονότων
- Η υποστήριξη WPF για εντολές μειώνει την ποσότητα του κώδικα που πρέπει να γράψουμε
Επόμενο σε αυτό το WPF Εκμάθηση C#, θα μάθουμε για τους τύπους πυρήνων και την υποδομή του WPF.
Τύποι πυρήνων και υποδομές WPF
Οι τάξεις στο WPF χωρίζονται σε τέσσερις διαφορετικούς τύπους:
- UIEστοιχείο
- FrameworkElement
- ContentElement
- FrameworkContentElement
Αυτές οι κλάσεις, γνωστές ως κατηγορίες στοιχείων βάσης. Παρέχει τη βάση για ένα μοντέλο σύνθεσης διεπαφών χρήστη.
Οι διεπαφές χρήστη WPF αποτελούνται από στοιχεία που συναρμολογούνται σε μια ιεραρχία δέντρου. Ονομάζεται δέντρο στοιχείων. Το δέντρο στοιχείων είναι ένας διαισθητικός τρόπος για τη διάταξη της διεπαφής χρήστη. Είναι μια δομή που σας επιτρέπει να αποκτήσετε τη δυνατότητα ισχυρών υπηρεσιών διεπαφής χρήστη.
xaml
Η γλώσσα σήμανσης επεκτάσιμης εφαρμογής που ονομάζεται "XAML" ή "zammel" είναι ένας δηλωτικός τρόπος για τον ορισμό διεπαφών χρήστη.
Εδώ είναι ο ορισμός XAML ενός απλού κουμπιού:
<Button FontSize="16" HorizontalAlignment="Center" VerticalAlignment="Center" > Say Hello Guru99</Button>
Πλεονέκτημα της χρήσης της γλώσσας XAML:
- Το XAML διαχωρίζει την εμφάνιση του front-end από τη λογική του back-end
- Η XAML είναι η ευκολότερη μέθοδος αναπαράστασης διεπαφών χρήστη
- Το XAML λειτουργεί αποτελεσματικά με εργαλεία
Έλεγχοι
Το πλαίσιο WPF υποστηρίζει πολλά χρήσιμα στοιχεία ελέγχου όπως:
- Επεξεργασία στοιχείων ελέγχου όπως ΚείμενοBox, ΈλεγχοςBox, Κουμπί ραδιοφώνου
- Στοιχεία ελέγχου λίστας όπως ΛίσταBox, ListView, TreeView
- Πληροφορίες χρήστη όπως Label, WPF ProgressBar, ToolTip
- Ενέργειες όπως Μενού, Κουμπί και Γραμμή εργαλείων
- Εμφανίσεις όπως Border, WPF Image και Viewbox
- Συνηθισμένα παράθυρα διαλόγου όπως το OpenFileDialog και το PrintDialog.
- Κοντέινερ όπως TabContro, ScrollBar και GroupBox
- Διατάξεις όπως DocPanel, StackPanel και Grid
- Πλοήγηση όπως Frame και Hyperlink
Η εμφάνιση των στοιχείων ελέγχου μπορεί να προσαρμοστεί με στυλ και πρότυπα χωρίς προγραμματισμό. Μπορείτε επίσης να δημιουργήσετε ένα προσαρμοσμένο στοιχείο ελέγχου αντλώντας μια νέα κλάση από μια κατάλληλη βασική κλάση.
Εμφάνιση
Το WPF παρέχει μια δυνατότητα προσαρμογής της εμφάνισης της εφαρμογής σας. Σας επιτρέπει να ορίσετε αντικείμενα και τιμές για πράγματα όπως γραμματοσειρές, φόντο κ.λπ.
Η λειτουργία στυλ σάς επιτρέπει να τυποποιήσετε μια συγκεκριμένη εμφάνιση για ολόκληρο το προϊόν. Σας επιτρέπει να αντικαταστήσετε την προεπιλεγμένη εμφάνιση διατηρώντας παράλληλα την προεπιλεγμένη συμπεριφορά της.
Το πρότυπο δεδομένων σάς επιτρέπει να ελέγχετε την προεπιλεγμένη απεικόνιση των δεσμευμένων δεδομένων. Με τη βοήθεια των θεμάτων, μπορείτε εύκολα να απεικονίσετε στυλ από το λειτουργικό σύστημα.
Διάταξη & Πίνακες
Η διάταξη σάς βοηθά στη σωστή τοποθέτηση και έλεγχο μεγέθους. Αποτελεί μέρος της διαδικασίας σύνθεσης της παρουσίασης για τον χρήστη. Το πλαίσιο WPF διευκολύνει τη διαδικασία διάταξης και προσφέρει καλύτερη προσαρμοστικότητα στην εμφάνιση του UI.
Η υποδομή διάταξης που προσφέρεται από διάφορες κατηγορίες είναι 1) StackPanel 2) DockPanel 3) WrapPanel 4) Grid και 5) Canvas
γραφικά
Το WPF παρέχει ένα βελτιωμένο σύστημα γραφικών όπως
- Το WPF χρησιμοποιεί μονάδες ανεξάρτητες από τη συσκευή, επιτρέποντας την ανάλυση και την ανεξαρτησία της συσκευής. Επομένως, κάθε pixel, το οποίο είναι ανεξάρτητο από τη συσκευή, κλιμακώνεται αυτόματα με το σύστημα ρύθμισης κουκκίδων ανά ίντσα
- Το WPF χρησιμοποιεί double αντί για float και υποστηρίζει μια ευρύτερη γκάμα χρωμάτων
- Η μηχανή γραφικών WPF έχει σχεδιαστεί με τέτοιο τρόπο ώστε να μπορεί να εκμεταλλεύεται το υλικό γραφικών όταν είναι διαθέσιμο
Έγγραφα και Εκτύπωση
Το πλαίσιο WPF προσφέρει τρεις τύπους εγγράφων:
- Διορθωμένα έγγραφα: Αυτός ο τύπος εγγράφου υποστηρίζει το WYSIWΠαρουσίαση ΥΓ.
- Έγγραφα ροής: Σας επιτρέπει να προσαρμόζετε και να ρέετε ξανά το περιεχόμενο με βάση μεταβλητές χρόνου εκτέλεσης, όπως το μέγεθος του παραθύρου και η ανάλυση της συσκευής.
- Έγγραφα XPS: Είναι μια σελιδοποιημένη αναπαράσταση ηλεκτρονικού χαρτιού σε μορφή XML. Το XPS είναι μια μορφή εγγράφου ανοιχτού κώδικα και πολλαπλών πλατφορμών.
Το WPF επιτρέπει καλύτερο έλεγχο του συστήματος εκτύπωσης. Περιλαμβάνει απομακρυσμένη εκτύπωση και ουρές. Επιπλέον, τα έγγραφα XPS μπορούν να εκτυπωθούν απευθείας χωρίς να τα μετατρέψουν σε μορφή εκτύπωσης.
WPF Archiδομή
Το WPF είναι μέρος του πλαισίου .NET. Περιέχει τόσο διαχειριζόμενο όσο και μη διαχειριζόμενο κώδικα. Τα σημαντικά στοιχεία της αρχιτεκτονικής WPF εξηγούνται στο παρακάτω σχήμα:

Στοιχεία αρχιτεκτονικής WPF
- Πλαίσιο παρουσίασης: Σας βοηθά να δημιουργήσετε στοιχεία ανώτατου επιπέδου όπως Στοιχεία ελέγχου, στυλ, διάταξη, παράθυρα κ.λπ.
- Πυρήνας παρουσίασης: Διατηρεί βασικούς τύπους όπως UIElement, Visual από όλα τα στοιχεία ελέγχου και τα σχήματα προέρχονται από το PresentationFramework.dll.
- CLR: Κάνει τη διαδικασία ανάπτυξης παραγωγική προσφέροντας χαρακτηριστικά όπως Διαχείριση μνήμης, χειρισμός σφαλμάτων κ.λπ.
- Milcore: Το Milcore είναι ένα μέρος του μη διαχειριζόμενου κώδικα που προσφέρει στενή ενοποίηση με το DirectX.
- DirectX: Είναι το χαμηλού επιπέδου API που επιτρέπει την απόδοση γραφικών του WPF. Οι συνομιλίες DirectX αλληλεπιδρούν με προγράμματα οδήγησης και αποδίδουν το περιεχόμενο.
- Χρήστης 32: Είναι ένα βασικό API που χρησιμοποιείται ευρέως από πολλά προγράμματα. Διαχειρίζεται τη μνήμη και το διαχωρισμό διεργασιών. Το User32 σάς βοηθά να αποφασίσετε ποιο στοιχείο θα τοποθετηθεί πού στην οθόνη.
- Πυρήνας: Η είσοδος προέρχεται ως σήμα σε ένα πρόγραμμα οδήγησης συσκευής λειτουργίας πυρήνα και δρομολογείται στη σωστή διαδικασία και μέσω σύνδεσης με Windows πυρήνα και User32.
Εγκατάσταση WPF
Ανατρέξτε σε αυτόν τον σύνδεσμο για να εγκαταστήσετε το WPF https://www.guru99.com/download-install-visual-studio.html
Στη συνέχεια, σε αυτό το σεμινάριο εφαρμογής WPF, θα δημιουργήσουμε το πρώτο μας WPF.
Πώς να δημιουργήσετε την πρώτη σας εφαρμογή WPF;
Σε αυτό το παράδειγμα WPF, θα αναπτύξουμε μια βασική εφαρμογή WPF. Λοιπόν, ας ξεκινήσουμε την απλή υλοποίηση ακολουθώντας τα βήματα που δίνονται στα παραδείγματα εφαρμογής WPF παρακάτω.
Βήμα 1) Στο Visual Studio Μεταβείτε στο Αρχείο > Έργο
Βήμα 2) Στο νέο παράθυρο του έργου
- Επιλέξτε την εφαρμογή WPF
- Εισαγάγετε όνομα ως "MyWPF"
- κάντε κλικ στο OK
Βήμα 3) Το Visual Studio δημιουργεί δύο αρχεία από προεπιλογή
- Αρχείο XAML (MainWindow.xaml)
- Αρχείο CS (MainWindow.xaml.cs)
Το MainWindow.xaml έχει
- Ένα παράθυρο σχεδίασης
- Αρχείο XAML
Στα παράθυρα XAML, οι ακόλουθες ετικέτες είναι γραμμένες ως προεπιλεγμένες
Το Πλέγμα είναι το πρώτο στοιχείο από προεπιλογή.
Το MainWindow.xaml.cs περιέχει τον αντίστοιχο κώδικα πίσω από το αρχείο σχεδίασης XAML
Βήμα 4) Στην εργαλειοθήκη,
- Σύρετε κείμενοBox στοιχείο στο παράθυρο σχεδίασης
- Ένα ΚείμενοBox θα εμφανιστεί στο παράθυρο σχεδίασης
- Θα δείτε τον κώδικα XAML για το κείμενοBox προστιθέμενη
Βήμα 5) Αλλάξτε το κείμενο σε "Πρώτο πρόγραμμα WPF".
Βήμα 6) Κάντε κλικ στο κουμπί Έναρξη
Βήμα 7) Θα δείτε ένα παράθυρο στην έξοδο
Συγχαρητήρια! Έχετε σχεδιάσει και δημιουργήσει την πρώτη σας εφαρμογή WPF. Στη συνέχεια, σε αυτό το σεμινάριο WPF για αρχάριους, θα δούμε τη διαφορά μεταξύ του WPF και του WinForms.
WPF εναντίον WinForms
WPF | WinForms |
---|---|
Είναι ένα νεότερο πλαίσιο, επομένως είναι πιο εναρμονισμένο με τα τρέχοντα πρότυπα. | Είναι πιο παλιό, επομένως είναι πιο δοκιμασμένο. |
Είναι ευέλικτο και πλούσια χαρακτηριστικά. Μπορείτε να σχεδιάσετε πολύ πλούσιες εφαρμογές χωρίς κωδικοποίηση ή έλεγχο αγοράς. | Όχι τόσο πλούσιο σε χαρακτηριστικά |
Προγραμματιστές 3rd Οι έλεγχοι των κομμάτων εστιάζονται στη συμβατότητα με το WPF καθώς είναι το μέλλον. | Υπάρχουν πολλά στοιχεία ελέγχου τρίτων που μπορείτε να αγοράσετε ή να αποκτήσετε δωρεάν. |
Το XAML σάς επιτρέπει να δημιουργείτε και να επεξεργάζεστε το GUI σας εύκολα. Επιτρέπει τον διαχωρισμό της εργασίας μεταξύ ενός σχεδιαστή (XAML) και ενός προγραμματιστή (C#, ASP.net, κ.λπ.). | In Windows Σχηματίζει όλο τον κώδικα που είναι γραμμένος σε ένα μέρος. |
Το WPF μπορεί να δημιουργήσει διεπαφές χρήστη και για τα δύο Windows εφαρμογές και διαδικτυακές εφαρμογές όπως το Silverlight και το XBAP. | Καμία τέτοια υποστήριξη |
Η σουίτα ελέγχου in-box του WPF είναι περιορισμένη | Τα χειριστήρια στο κουτί είναι πολύ ισχυρά |
Τύπος εφαρμογών που έχουν δημιουργηθεί με WPF
- Το WPF προσπαθεί να αντικαταστήσει φόρμες ιστού και φόρμες windows – οι εφαρμογές μπορούν να κατασκευαστούν για να εκτελούνται σε πρόγραμμα περιήγησης ή σε αυτόνομο παράθυρο
- Windows Οι φόρμες και οι σελίδες WPF μπορούν να συνυπάρχουν στην ίδια εφαρμογή
- Μπορείτε να αναπτύξετε εφαρμογές σελίδας/παραθύρου
Γρήγορος οδηγός
- Η πλήρης φόρμα WPF είναι Windows Παρουσίαση Foundation
- Είναι μια ιδανική πλατφόρμα για χρήση εάν θέλετε να ασχοληθείτε με διάφορους τύπους μέσων
- Windows Το 1.0 ήταν το πρώτο περιβάλλον GUI από Microsoft που δούλευε στο DOS και βασιζόταν στα συστήματα GDI και USER
- Το WPF στο .NET προσφέρει Διαλειτουργικότητα με Windows Στοιχεία ελέγχου φορμών
- Τα WPF χωρίζονται σε τέσσερις διαφορετικούς τύπους όπως το UIElement, το FrameworkElement ContentElement και το FrameworkContentElement
- Τα πιο σημαντικά στοιχεία ενός μέρους της αρχιτεκτονικής WPF είναι το PresentationFramework, το PresentationCore, το CLR, το Milcore, το DirectX, το User32 και το Kernel
- Το WPF είναι ένα νεότερο πλαίσιο σε σύγκριση με το WinForms, επομένως είναι περισσότερο εναρμονισμένο με τα τρέχοντα πρότυπα
- Windows Οι φόρμες και οι σελίδες WPF μπορούν να συνυπάρχουν στην ίδια εφαρμογή