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 rige farver med mindre kodekomplexity. 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 operadet grafiske displaysystem til Windows. Det giver nem adskillelse mellem brugergrænseflade og forretningslogik.

WPF-applikationer kan implementeresyed i dit system som et selvstændigt skrivebordsprogram eller hostet 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 drawing 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 Udgave 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

Funktioner af WPF
Funktioner af WPF
  • Dokumenter og udskrivning
  • Sikkerhed, tilgængelighed og lokalisering
  • Tilbyder Interoperadygtighed 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 giver foundation til 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
  • Fælles dialog boxså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 operating system.

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 double i stedet for at flyde 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 eltronic-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 architecture er forklaret i nedenstående givne figur:

WPF Architecture
WPF Architecture

Komponenter af WPF architecture

  • Præsentationsramme: Hjælper dig med at skabe elementer på øverste niveau som kontrolelementer, stilarter, layout, windowsOsv
  • 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 af following trinene givet i WPF-applikationseksempler nedenfor.

Trin 1) In Visual Studio Gå til Filer > Projekt

Opret din første WPF-applikation

Trin 2) I det nye projektvindue

  1. Vælg WPF App
  2. Indtast navn som "MyWPF"
  3. klik på OK

Opret din første WPF-applikation

Trin 3) Visual Studio opretter to filer som standard

  • XAML-fil (MainWindow.xaml)
  • CS-fil (MainWindow.xaml.cs)

Opret din første WPF-applikation

MainWindow.xaml har

  1. Et designvindue
  2. XAML fil

Opret din første WPF-applikation

I XAML windows, folloenwing tags skrives som standard

Opret din første WPF-applikation

Grid er det første element som standard.

MainWindow.xaml.cs indeholder den tilsvarende kode bag XAML-designfilen

Opret din første WPF-applikation

Trin 4) I værktøjbox,

  1. Træk tekstBox element til designvinduet
  2. En tekstBox vises i designvinduet
  3. Du vil se XAML-kode for tekstBox tilføjet

Opret din første WPF-applikation

Trin 5) Skift tekst til "Første WPF-program."

Opret din første WPF-applikation

Trin 6) Klik på Start-knappen

Opret din første WPF-applikation

Trin 7) Du vil se et vindue ved output

Opret din første WPF-applikation

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 er i-box kontrolpakken er begrænset I-box 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 Interoperadygtighed 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 archiTecture er PresentationFramework, PresentationCore, CLR, Milcore, DirectX, User32 og Kernel
  • WPF er en nyere rammekompares WinForms, så det er mere i overensstemmelse med de nuværende standarder
  • Windows Formularer og WPF-sider kan eksistere side om side i den samme applikation