WPF Tutorial for begyndere: Sådan opretter du applikation [Eksempel]
Hvad er WPF?
WPF er en ramme for at bygge Windows applikationer, der giver brugerne mulighed for at udvikle fyldige brugergrænseflader med 3D-animationer og fyldige farver med mindre kodekompleksitet. Det er en vektorbaseret gengivelsesmotor, der bruger hardwareacceleration af moderne grafikkort, hvilket gør Ul hurtigere og meget skalerbar. WPF står for Windows Præsentation Foundation.
WPF kan betragtes som en udvikling i forhold til WinForms. Det producerer let at betjene grafisk displaysystem til Windows. Det giver nem adskillelse mellem brugergrænseflade og forretningslogik.
WPF-applikationer kan implementeres i dit system som et selvstændigt skrivebordsprogram eller hostes som et indlejret objekt på et websted.
Hvorfor WPF?
Der er mange grunde til at bruge WPF-platformen, nogle fremtrædende er-
- En ideel platform at bruge, hvis du har brug for at håndtere forskellige medietyper
- WPF giver dig mulighed for at oprette en skinnet brugergrænseflade. Det hjælper dig også, når du skal indlæse en del af brugergrænsefladen eller ønsker at binde XML-data
- Det giver dig mulighed for at drage fordel af det store .NET-klassebibliotek, som det er bygget på .NET teknologi
- Opløsningsuafhængighed, så applikationer udviklet ved hjælp af WMF kan køres på mobile enheder eller en 20-tommer skærm
- WPF bygger på DirectX i stedet for WinAPI. Det tilbyder klientcomputerens grafiksystem. Tilbyder derfor større grafisk gengivelseskraft
- Understøtter en flowdokumentmodel, som muliggør "desktop publicering"-kvalitet af layoutet
- Udseende og adfærd hænger løst sammen. Dette giver designere og udviklere mulighed for at arbejde på to separate modeller
- I WMF framework kan du grafisk designe værktøjer på simple XML-dokumenter i stedet for at parse kode
- Giver dig mulighed for at bruge hardwareacceleration til at tegne GUI for bedre ydeevne
WPF's historie
Windows 1.0 var det første GUI-miljø fra Microsoft. Det fungerer som et lag oven på DOS, der er afhængig af GDI- og USER-systemerne til grafik og brugergrænseflade.
DirectX blev introduceret i år 1995, som et højtydende grafiksystem. Det var rettet mod spil og andre grafikrelaterede miljøer. I årenes løb er der mange versioner udgivet med Directx9, der giver et bibliotek til brug med mange.Net kode.
WPF version | Udgivelsesår | .Net-version | Visual Studio version | Funktionalitet |
---|---|---|---|---|
3.0 | 2006 | 3.0 | N / A | Første udgivelse. WPF-udvikling kan dog udføres med VS 2005. |
3.5 | 2007 | 3.5 | US 2008 | Ændringer og forbedringer i: Applikationsmodel, indbinding, kontroller, dokumenter, anmærkninger og 3-D Ul-elementer. |
3.5 SP1 | 2008 | 3.5 SP1 | N / A | Native splash screen support. Ny webbrowser kontrol, DirectX pixel shader understøttelse. |
4.0 | 2010 | 4.0 | US 2010 | Nye kontroller: Kalender. DataGrid, DatePicker. Multi-Touch og manipulation |
4.5 | 2012 | 4.5 | US 2012 | Hurtigere opsætningstid og forbedret ydeevne for Bitmap-effekter. Nye kontroller: Kalender. DataGrid, DatePicker. Multi-Touch og manipulation |
4.5.1 | 2013 | 4.5.1 | US 2013 | Ny båndkontrol Ny INotifyDataErrorlinfo-grænseflade |
4.5.2 | 2014 | 4.5.2 | NA | Ingen større ændring Ingen større ændring |
4.6 | 2015 | 4.6 | US 2015 | Gennemsigtig støtte til børnevinduer HDPI og Touch forbedringer |
Den seneste stabile version af WPF 5.0.6, som udgives i april 2021.
Funktioner af WPF
- Dokumenter og udskrivning
- Sikkerhed, tilgængelighed og lokalisering
- Tilbyder interoperabilitet med Windows Former kontroller
- Direct3D bruges i grafiske applikationer, hvor ydeevne er vigtig
- Bruger videokortets hardware til gengivelse
- Vektorbaseret grafik giver dig mulighed for at skalere din applikation uden tab af kvalitet
- WPF understøtter floating-point logisk pixelsystem og 32-bit ARGB-farve
- Omdefiner stilarter og kontrolskabeloner
- Opbygning af internationale skrifttyper fra sammensatte skrifttyper
- WPF-tekstgengivelse hjælper dig med at udnytte ClearType-teknologien
- Giver dig mulighed for at bruge caching-teknikken med forudgengivet tekst i videohukommelsen
- Ressourcebaseret tilgang til hver kontrol
- Præsentationstimere initialiseres og administreres af WPF
- Forholdet mellem video og animation understøttes også
- I WPF er en stil et sæt egenskaber, som skal anvendes på indhold, der bruges til visuel gengivelse
- Skabeloner i WPF hjælper dig med at ændre Ul af dit dokument
- Kommandoer er mere abstrakte og løst koblede versioner af begivenheder
- WPF-understøttelse af kommandoer reducerer mængden af kode, vi skal skrive
Næste i denne WPF C# tutorial, vil vi lære om WPF-kernetyper og infrastruktur.
WPF-kernetyper og -infrastrukturer
Klasser i WPF er opdelt i fire forskellige typer:
- UIElement
- FrameworkElement
- ContentElement
- FrameworkContentElement
Disse klasser, kendt som basiselementklasser. Det danner grundlaget for en model for sammensætning af brugergrænseflader.
WPF-brugergrænseflader er sammensat af elementer, som er samlet i et træhierarki. Det kaldes elementtræet. Elementtræet er en intuitiv måde at layoute brugergrænsefladen på. Det er en struktur, der giver dig mulighed for at få funktionen af kraftfulde UI-tjenester.
XAML
Extensible Application Markup Language, som kaldes "XAML", eller "zammel" er en deklarativ måde at definere brugergrænseflader på.
Her er XAML-definitionen af en simpel knap:
<Button FontSize="16" HorizontalAlignment="Center" VerticalAlignment="Center" > Say Hello Guru99</Button>
Fordel ved at bruge XAML-sprog:
- XAML adskiller front-end-udseende fra back-end-logik
- XAML er den nemmeste metode til at repræsentere brugergrænseflader
- XAML er at arbejde effektivt med værktøjer
Controls
WPF framework understøtter mange nyttige kontroller som:
- Redigeringskontroller som tekstBox, KontrollereBox, Radio knap
- Listekontroller såsom ListBox, Listevisning, Trævisning
- Brugeroplysninger såsom Label, WPF ProgressBar, ToolTip
- Handling såsom menu, knap og værktøjslinje
- Udseende som Border, WPF Image og Viewbox
- Almindelige dialogbokse såsom OpenFileDialog og PrintDialog.
- Containere såsom TabContro, ScrollBar og GroupBox
- Layouts som DocPanel, StackPanel og Grid
- Navigation såsom Frame og Hyperlink
Udseendet af kontroller kan tilpasses med stilarter og skabeloner uden programmering. Du kan også oprette en brugerdefineret kontrol ved at udlede en ny klasse fra en passende basisklasse.
Udseende
WPF giver en funktion til at tilpasse udseendet af din applikation. Det giver dig mulighed for at indstille objekter og værdier for ting som skrifttyper, baggrunde osv.
Styles-funktionen giver dig mulighed for at standardisere på et specifikt look for hele produktet. Det giver dig mulighed for at erstatte standardudseendet, mens du bevarer standardadfærden.
Dataskabelon giver dig mulighed for at kontrollere standardvisualiseringen af de bundne data. Ved hjælp af temaer kan du nemt visualisere stilarter fra styresystemet.
Layout & Paneler
Layout hjælper dig med korrekt positionering og størrelseskontrol. Det er en del af processen med at sammensætte præsentationen for brugeren. WPF-rammen letter layoutprocessen og giver bedre tilpasningsmuligheder for UI-udseendet.
Layoutinfrastrukturen tilbydes af forskellige klasser er 1) StackPanel 2) DockPanel 3) WrapPanel 4) Grid og 5) Canvas
Grafik
WPF giver et forbedret grafiksystem som
- WPF bruger enhedsuafhængige enheder, hvilket muliggør opløsning og enhedsuafhængighed. Derfor skaleres hver pixel, som er enhedsuafhængig, automatisk med indstillingssystemet for dots-per-inch
- WPF bruger dobbelt i stedet for float og understøtter en bredere vifte af farver
- WPF-grafikmotoren er designet på en sådan måde, at den kan drage fordel af grafikhardware, når den er tilgængelig
Dokumenter og udskrivning
WPF framework tilbyder tre typer dokumenter:
- Faste dokumenter: Denne type dokument understøtter WYSIWYG præsentation.
- Flow dokumenter: Giver dig mulighed for at justere og omforme indhold baseret på køretidsvariabler som vinduesstørrelse og enhedsopløsning.
- XPS-dokumenter: Det er en pagineret repræsentation af elektronisk papir i et XML-baseret format. XPS er et open source og dokumentformat på tværs af platforme.
WPF muliggør bedre kontrol over printsystemet. Det inkluderer fjernudskrivning og køer. Desuden kan XPS-dokumenter udskrives direkte uden at konvertere det til et printformat.
WPF Architecture
WPF er en del af .NET frameworket. Den indeholder både administreret og ikke-administreret kode. De vigtige komponenter i WPF-arkitektur er forklaret i nedenstående figur:
Komponenter af WPF-arkitektur
- Præsentationsramme: Hjælper dig med at oprette elementer på øverste niveau som kontrolelementer, stilarter, layout, vinduer osv.
- PresentationCore: Den indeholder basistyper såsom UIElement, Visual fra alle kontroller og former er afledt i PresentationFramework.dll.
- CLR: Det gør udviklingsprocessen produktiv ved at tilbyde funktioner som hukommelsesstyring, fejlhåndtering mv.
- Milcore: Milcore er en del af den ikke-administrerede kode, som tilbyder tæt integration med DirectX.
- DirectX: Det er lav-niveau API, som tillader gengivelse af grafik af WPF. DirectX talks interagerer med drivere og gengiver indholdet.
- Bruger32: Det er en kerne API, som er meget brugt af mange programmer. Det styrer hukommelse og procesadskillelse. User32 hjælper dig med at bestemme hvilket element der skal placeres hvor på skærmen.
- Kernel: Input stammer fra et signal på en enhedsdriver i kernetilstand og bliver dirigeret til den korrekte proces og ved at forbinde med Windows kerne og User32.
WPF installation
Se dette link for at installere WPF https://www.guru99.com/download-install-visual-studio.html
Næste i denne WPF-applikationsvejledning bygger vi vores første WPF.
Hvordan opretter du din første WPF-applikation?
I dette WPF-eksempel vil vi udvikle en grundlæggende WPF-applikation. Så lad os starte den simple implementering ved at følge trinene givet i WPF-applikationseksempler nedenfor.
Trin 1) Gå til Filer > Projekt i Visual Studio
Trin 2) I det nye projektvindue
- Vælg WPF App
- Indtast navn som "MyWPF"
- klik på OK
Trin 3) Visual Studio opretter som standard to filer
- XAML-fil (MainWindow.xaml)
- CS-fil (MainWindow.xaml.cs)
MainWindow.xaml har
- Et designvindue
- XAML fil
I XAML-vinduerne skrives følgende tags som standard
Grid er det første element som standard.
MainWindow.xaml.cs indeholder den tilsvarende kode bag XAML-designfilen
Trin 4) I værktøjskassen,
- Træk tekstBox element til designvinduet
- En tekstBox vises i designvinduet
- Du vil se XAML-kode for tekstBox tilføjet
Trin 5) Skift tekst til "Første WPF-program."
Trin 6) Klik på Start-knappen
Trin 7) Du vil se et vindue ved output
Tillykke! Du har designet og oprettet din første WPF-applikation. Næste i denne WPF for begyndere tutorial, vil vi se forskellen mellem WPF og WinForms.
WPF vs. WinForms
WPF | WinForms |
---|---|
Det er en nyere ramme, så den er mere i overensstemmelse med de nuværende standarder. | Den er ældre, så den er mere gennemprøvet. |
Det er fleksibelt og mange funktioner. Du kan designe meget rige applikationer uden at kode eller købe kontrolelementer. | Ikke så rig på funktioner |
Udviklere af 3rd partikontrol er fokuseret på kompatibilitet med WPF, da det er fremtiden. | Der er mange tredjepartskontroller, som du kan købe eller få gratis. |
XAML giver dig mulighed for nemt at oprette og redigere din GUI. Det gør det muligt at dele arbejdet mellem en designer (XAML) og en programmør (C#, ASP.net osv.). | In Windows Danner al koden skrevet på ét sted. |
WPF kan oprette brugergrænseflader til begge Windows applikationer og webapplikationer som Silverlight og XBAP. | Ingen sådan støtte |
WPF's in-box kontrolsuite er begrænset | Indbyggede kontroller er meget kraftfulde |
Type applikationer bygget med WPF
- WPF forsøger at erstatte webformularer og Windows-formularer – apps kan bygges til at køre i en browser eller et selvstændigt vindue
- Windows Formularer og WPF-sider kan eksistere side om side i den samme applikation
- Du kan udvikle side/vindue applikationer
Hurtig guide
- WPF's fulde form er Windows Præsentation Foundation
- Det er en ideel platform at bruge, hvis du har brug for at håndtere forskellige medietyper
- Windows 1.0 var det første GUI-miljø fra Microsoft som arbejdede på DOS og stolede på GDI- og USER-systemerne
- WPF i .NET tilbyder interoperabilitet med Windows Former kontroller
- WPF er opdelt i fire forskellige typer som UIElement, FrameworkElement ContentElement og FrameworkContentElement
- De vigtigste komponenter i en del af WPF-arkitekturen er PresentationFramework, PresentationCore, CLR, Milcore, DirectX, User32 og Kernel
- WPF er en nyere ramme sammenligner WinForms, så den er mere i overensstemmelse med nuværende standarder
- Windows Formularer og WPF-sider kan eksistere side om side i den samme applikation