WPF-vejledning for begyndere
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









