Top 72 WPF-interviewspørgsmål og -svar (2025)
Her er WPF-interviewspørgsmål og svar til friskere såvel som erfarne kandidater til at få deres drømmejob.
1. Hvad er WPF?
WPF er den seneste præsentations-API fra Microsoft Windows. Det er 2D og 3D grafisk motor. Dens muligheder omfatter: -
- Alle de almindelige brugerkontroller. For eksempel afkrydsningsfelter, knapper, skydere osv.
- Understøtter flow- og fixformatdokumenter
- al funktionaliteten i Flash og HTML
- Data bindende
- multimedie
- Animation
Gratis PDF-download: WPF-interviewspørgsmål og -svar
2. Hvilke typer dokumenter understøttes af WPF?
To typer af dokumenter, der understøttes af Windows Presentation Foundation (WPF), er Flow-formatet og dokumentet med fast format. Flowformatdokument ændrer indholdet, så det passer til skærmstørrelsen, mens dokument i fast format præsenterer indhold uanset skærmstørrelsen.
3. Navngiv det navneområde, der kræves for at arbejde med 3D.
Det navneområde, der kræves for at arbejde i 3D, er System.Windows.Media.Medi3D.
4. Er det rigtigt at sige, at WPF har erstattet DirectX?
Nej, WPF kan aldrig erstatte DirectX. WPF kan ikke bruges til at skabe spil med fantastisk grafik. WPF er beregnet til at være en erstatning for Windows-form, ikke DirectX.
5. Hvad er afhængighedsegenskaber?
Egenskaber, der tilhører en bestemt klasse, men som kan bruges til en anden, kaldes afhængighedsegenskaberne.

6. Hvordan kan størrelsen på StatusBar øges proportionalt?
Ved at tilsidesætte attributten ItemsPanel i StatusBar med et gitter. Gitterets kolonner kan konfigureres passende for at få det ønskede resultat.
7. Hvad er frysbare objekter i WPF?
En genstand, som har sin tilstand låst, så den bliver uforanderlig, er kendt som en frysebar genstand. Sådanne objekter fungerer bedre. Det er også mere sikkert, hvis de skal deles mellem tråde.
8. Hvorfor skal WPF foretrækkes frem for Adobe Flash?
WPF er en nyere teknologi og har dermed de nyeste udviklingsværktøjer. Det understøtter et bredere udvalg af programmeringssprog og har en robust kontrolgenbrug.
9. Hvordan adskiller Silverlight sig fra WPF-browserapplikationen?
En af de største forskelle er, at .NET framework er påkrævet for at køre WPF browser applikationer på klientmaskinen. Men Silverlight kører kun ved hjælp af plug-in'et. Et andet punkt til forskel er, at applikationer lavet i WPF afhænger af OS da .NET Framework kun kører på Windows. På den anden side kan Silverlight plug-in også installeres på de operativsystemer, som ikke er Windows.
10. Navngiv metoderne i DependencyObject.
Den har tre objekter, nemlig:
- Indstil værdi
- ClearValue
- GetValue
11. Skriv om PRISM.
PRISM er en ramme til at skabe komplekse applikationer til WPF, Silverlight eller Windows Phone. PRISM bruger MVVM, IC, Command Patterns, DI og Separation of Concerns for at få løs kobling.
12. Er det muligt at bruge Windows Forms i en WPF-applikation?
Ja, Windows-formularen kan bruges i WPF. Windows-formular kan vises som en WPF-pop. Kontrolelementerne i denne vinduesformular kan placeres udover WPF-kontroller på en WPF-side ved at bruge funktionerne i WindowsFormsHost-kontrolelementet, der er forudinstalleret.

13. Beskriv CustomControl kort.
CustomControl udvider funktionerne i eksisterende kontroller. Den består af en standardstil i Themes/Generic.xaml og en kodefil. Det er den bedste måde at lave et kontrolbibliotek på og kan også styles eller skabes.
14. Nævn de fælles samlinger, der bruges i WPF?
- Præsentationsfonden
- WindowsBase
- PræsentationCore
15. Definer sti-animationer i WPF
Sti-animation er en type animation, hvor det animerede objekt følger en sti, der er angivet af sti-geometrien.
16. Kan WPF-ansøgninger foretages uden XAML?
Ja WPF-applikationer kan oprettes uden XAML, da brug af XAML i WPF er et spørgsmål om valg.
17. Hvilke typer vinduer er der i WPF?
WPF har tre typer vinduer:
- Normalt vindue
- Sidevindue
- Naviger i vinduet
18. Hvordan kan elementer i en ListBox sorteres?
Sortering kan udføres ved at bruge en egenskab for objektet ItemsCollection. ItemsCollection indeholder en attribut, SortDescriptions, som indeholder System.ComponentModel.SortDescription-forekomster. Hver SortDescription-forekomst definerer, hvordan elementerne skal sorteres og angiver, om sorteringen er faldende eller stigende.
For eksempel sorterer denne kode elementer af ContentControl på basis af deres ordantal egenskab:
myItemsControl.Items.SortDescriptions.Add(new SortDescription("WordCount", ListSortDirection.Descending));
19. Hvordan adskiller MVVM sig fra MVC?
MVC står for Model-View Controller og.MVVM står for Model-View ViewModel.
I MVVM bruges View Model i stedet for en controller. Denne visningsmodel er til stede under UI-laget. Det afslører kommandoobjekter og data, som visningen kræver. Det fungerer som et containerobjekt, hvorfra visningen får sine handlinger og data.
20. Forklar rutebegivenheder i WPF.
En hændelse, som kan påkalde behandlere på mere end én lyttere, der er til stede i et elementtræ, i stedet for det enkelte objekt, som kaldes hændelsen, er kendt som en rutet hændelse.
21. Hvordan bruges System.Windows.Media.Visual dll i WPF?
Det bruges, når der opstår et krav om at oprette brugerdefineret brugergrænseflade. Det er et tegneobjekt, som giver instruktioner til at lave et objekt. Disse instruktioner omfatter opacitet mv af tegningen. Visual-klassen bygger også bro mellem funktionaliteterne i WPF-styrede klasser og MilCore.dll.
22. Hvad er de forskellige layoutpaneler i WPF?
De er:
- Stakpanel
- Gitterpanel
- Lærredspanel
- Dock panel
- Indpakningspanel
23. Nævn de vigtige delsystemer i WPF
De vigtigste delsystemer er:
- Windows.Controls.Control
- Windows.DependancyObject
- Windows.FrameworkElement
- Windows.Media.Visuals
- Object
- Threading.DispatcherObject
- Windows.UIElements
24. Hvad betyder BAML i WPF?
BAML er forkortelsen for Binary Application Markup Language. Det er intet andet end XAML, der er blevet tokeniseret, parset og ændret til binær form. BAML er et komprimeret deklarativt sprog, som bliver indlæst og parset hurtigere end XAML.
25. Hvad er forskellen mellem side- og vindueskontroller i WPF?
Den grundlæggende forskel er, at Window Control præsiderer over Windows Application, mens Side Control præsiderer over de hostede browserapplikationer. Vindueskontrol kan også indeholde sidekontrol, men det omvendte kan ikke ske.
26. Hvad er Attached Properties i WPF?
Vedhæftede egenskaber er grundlæggende afhængighedsegenskaber, der tillader vedhæftning af en værdi til ethvert tilfældigt objekt.
27. Hvad er INotifyPropertyChanged Interface?
InotifyPropertyChanged underretter kunder, generelt dem, der er bindende, hvis værdien af en ejendom bliver ændret. Det har en hændelse, kaldet PropertyChanged, som bliver hævet hver gang en egenskab for Model-objektet ændres.
28. Hvad er den grundlæggende forskel mellem hændelser og kommandoer i MVVM-modellen?
Kommandoer er mere kraftfulde og er fordelagtige at bruge i stedet for begivenheder. Handlinger er dybt forbundet med begivenhedens kilde, og begivenhederne kan derfor ikke let genbruges. Men kommandoer gør det muligt effektivt at vedligeholde flere handlinger på ét sted og derefter genbruge dem i henhold til vores krav.
29. Hvad er metoden til at tvinge et værktøjstip, som er synligt i øjeblikket?
Den kan lukkes ved at sætte værktøjstips IsOpen-egenskab til false.
30. Skriv forskellene mellem DynamicResource og StaticResource.
Den mest grundlæggende forskel er, at StaticResource kun evaluerer ressourcen én gang, men DynamicResource evaluerer den, hver gang ressourcen er påkrævet. Og på grund af denne grund er DyanamicResource tungt på systemet, men det gør, at sider eller vinduer indlæses hurtigere
31. Forklar MVVM-mønster.
MVVM-mønsteret opdeler UI-koden i 3 grundlæggende dele:
- Model – Det repræsenterer et sæt klasser, som indeholder data modtaget fra databaser.
- Udsigt - Det er koden, der stemmer overens med den visuelle repræsentation af dataene.
- ViewModel – Det er laget, der binder View og Model sammen. Den præsenterer disse data på en måde, som er let at forstå. Det styrer også, hvordan View interagerer med applikationen.
32. Hvorfor er der brug for layoutpaneler i WPF?
Layoutpaneler er nødvendige, så kontrollerne passer til skærme i forskellige størrelser eller med forskellige skriftstørrelser. Hvis vi arrangerer kontroller på faste pixelkoordinater, vil denne model fejle, når den flyttes til et andet miljø. Af denne grund er Layout-paneler nødvendige.
33. Skriv kort om UserControl.
UserControl pakker eksisterende kontroller ind i en enkelt genbrugelig gruppe. Den indeholder en XAML-fil og en kode. UserControl kan ikke styles eller skabes.
34. Hvordan kan man afgøre, om et objekt, der kan fryses, er frosset?
"IsFrozen"-egenskaben for objektet kan bruges til at bestemme, om det frysbare objekt er frosset.
35. Hvad er måleenheden i WPF?
Alle målinger foretages i enhedsuafhængige pixels eller logiske pixels. En pixel er 1/96. del af en tomme. Disse logiske pixels er altid nævnt som dobbelte, hvilket gør det muligt for dem også at have en brøkværdi.
36. Hvad er en smykker?
De er en speciel slags FrameworkElement, der giver visuelle ledetråde til brugeren. De bruges også til at tilføje håndtag til elementer og give information om en kontrols tilstand. Udsmykninger er bundet til UIElementet og gengives på en overflade, der ligger over elementet, som er prydet. Denne overflade kaldes et AdornerLayer. Udsmykninger er for det meste placeret i forhold til det afgrænsede element.
37. Forklar serialisering?
Det er processen med at konvertere et objekts tilstand til strøm af bytes.
38. Er MDI understøttet i WPF?
MDI er ikke understøttet i WPF. UserControl kan bruges til at give samme funktionalitet som MDI.
39. Hvad er XBAP?
XBAP er den forkortede form af XAML Browser Application. Det tillader WPF-applikationer at køre i webbrowsere. Installation af .NET framework på klientmaskinen er en forudsætning for at køre WPF-applikationer. Men hostede applikationer får ikke fuld adgang til klientens maskine og udføres i et sandkassemiljø. Ved hjælp af WPF kan sådanne applikationer også oprettes, som kører direkte i browseren. Disse applikationer kaldes XBAP.
40. I hvilken forstand er WPF og Silverlight ens?
Silverlight og WPF ligner hinanden i den forstand, at de begge bruger XAML og deler den samme kode, syntaks og biblioteker.
41. Hvordan får man et værktøjstip til at blive vist, mens man holder musen over et deaktiveret element?
Til dette formål kan egenskaben ShowOnDisabled bruges. Det tilhører ToolTipService-klassen.
42. Hvordan kan ListBox fås til at rulle glat?
ListBox er som standard konfigureret til at rulle på et element-for-element basis. Dette afhænger af højden af hvert element og rullehandlingen, hvilket giver en grov følelse. En bedre måde er at konfigurere rullehandlingen, så den flytter elementer med et par pixels uanset deres højde. Dette gøres ved at sætte egenskaben ScrollViewer.CanContentScroll til "false". Dette vil dog få ListBox til at miste virtualiseringsegenskaben.
43. Hvor starter eksekveringen i en WPF-applikation?
WPF-applikationer oprettet i Visual Studio kører uden en hovedmetode. Dette skyldes, at applikationerne har specielle tilfælde, når de kompileres fra XAML. Det betyder, at Visual Studio vedhæfter en Build Action af ApplicationDefinition til XAML-filen. Dette resulterer i autogenerering af en hovedmetode.
44. Kan Windows Service oprettes ved hjælp af WPF?
Nej, Windows Services kan ikke oprettes ved hjælp af WPF. WPF er et præsentationssprog. Windows-tjenester har brug for specifikke tilladelser til at udføre nogle GUI-relaterede funktioner. Derfor, hvis den ikke får de nødvendige tilladelser, giver den fejl.
45. Hvad er de forskellige slags rutebegivenheder i WPF?
Der er tre typer rutebegivenheder i WPF. De er:
- Direkte - Denne begivenhed kan kun rejses af det element, hvori den opstod.
- Tunnelkørsel – Denne begivenhed er først rejst af det element, hvori den blev opstået, og derefter bliver den rejst af hver på hinanden følgende beholder i det visuelle træ.
- bobler – Denne begivenhed hæves først af den øverste beholder i det visuelle træ og hæves derefter af hver på hinanden følgende beholder, der ligger under den øverste, indtil den når det element, hvor den stammer fra.
46. Hvorfor er det bedre at pakke varer ind i ComboBoxItem?
Det har nogle vigtige egenskaber som IsSelected og IsHighlighted og også nogle nødvendige begivenheder som Selected og Unselected. ComboBoxItem er en indholdskontrol og er derfor meget nyttig til at tilføje simple strenge til en ComboBox.
47. Hvordan får man automatiserings-id'er for varer i en ItemsControl?
Den bedste måde at gøre dette på er ved at indstille den Name-egenskab, da den som standard bruges til automatiseringsformål. Men hvis du har brug for at give et id til et element, ud over dets navn, kan egenskaben AutomationProperties.AutomationID indstilles efter behov.
48. Hvordan kan kommandolinjeargumenter hentes i en WPF-applikation?
Den mest foretrukne metode til dette er at kalde System.Environment.GetCommandLineArgs på et hvilket som helst tilfældigt punkt i applikationen.
49. Angiv navnet på klasserne, som indeholder vilkårligt indhold.
Indholdskontrol
HeaderedContent Control
Varekontrol
HeaderedItems kontrol
50. Hvilket NameSpace har 'Popup' og 'Thumb'-kontroller?
Navneområdet system.windows.controls.primitives har 'Popup'- og 'Thumb'-kontroller.
51. Forklar hvad XAML er? Hvad er forskellen mellem XML og XAML?
XAML står for eXtensible Application Markup Language. Det er det sprog, der bruges til at instantiere .NET-objekter. Det er det sprog, der er udviklet af microsoft at skrive brugergrænseflade til næste generations applikationer.
XML er designet til at gemme data eller til at arbejde med de lagrede data, hvorimod XAML er den udvidede version af XML, der bruges til.NET-programmering.
52. Nævn fordelen ved at bruge XAML?
Fordelen ved at bruge XAML er
- XAML-koden er tydelig at læse, og de er korte
- Adskillelse af designerkode og logik
- Værktøjer som udtryksblanding brugt til grafisk design kræver XAML som kilde
- Det adskiller tydeligt rollerne som designer og udvikler
53. Hvordan kan du kode for at vise "Hello World" i XAML?
Viser "Hello World".
<page xmlns= '' ''> <TextBlock> Hello, World! </TextBlock> </Page>
54. Hvordan specificeres grafiske komponenter i XAML?
I XAML er grafiske komponenter specificeret med åbne eller lukkede tags med attributter.
For eksempel:
- Tag med indhold
Klik
- Tag uden indhold
< knap/>
55. Hvad er attributsyntaks i XAML?
I XAML angiver attributsyntaksen en værdi for en egenskab eller navngiver hændelseshandleren for en hændelse ved at deklarere en attribut på et element. Attributværdien skal være omsluttet af to anførselstegn (“).
For eksempel:
< Button Background = "Black" Foreground "Red" Content = "This is an operating button"/>
56. Forklar indholdsegenskaber XAML?
XAML repræsenterer en sprogfunktion, hvorved en klasse kan tildele nøjagtig en af dens egenskaber som XAML-egenskab
57. Forklar, hvad er Markup extension i XAML?
Markup-udvidelser er pladsholdere i XAML, der bruges til at løse egenskaber under kørsel. En markup-udvidelse giver dig mulighed for at udvide XAML, og ved at bruge attributsyntaks kan du også indstille enhver egenskab, der kan indstilles i XAML. Formålet med markup-udvidelsen er at behandle en streng og returnere et objekt. Nogle af standardmarkup-udvidelserne er xNull, x: Array, :Statisk ressource og Dynamisk ressource.
58. Hvad er de fire generelle typer XAML-elementer?
De fire generelle slags XAML-elementer er
- Rodelementer
- Panelelementer
- Kontrolelementer
- Geometriske elementer
59. Hvilket X: præfiks angiver i XAML?
X:-præfikset bruges til at kortlægge XAML-navneområdet i skabeloner.
60. Hvad er de forskellige X:-præfikser, der bruges i XAML-sproget?
- x: Nøgle à Den indstiller en unik nøgle for hver ressource i en ressourceordbog
- x: Classà Det specificerer CLR (Common Language Runtime) navneområde og klassenavn for den klasse, der leverer kode
- x: Navn à Det angiver et runtime-objektnavn for den instans, der findes i runtime-koden, efter at et objektelement er behandlet
- x: Statisk à Det muliggør en reference, der returnerer en statisk værdi, som ellers er en XAML-kompatibel egenskab
- x: Type à Den konstruerer en Type-reference baseret på typenavnet
61. Hvordan kan du indstille en egenskabsattribut som en bogstavelig streng og ikke en opmærkningsudvidelse?
For at undgå markering forlængelse skal du bruge et par tom krøllede seler som f.eks
Indhold = "{} {This is not a markup extension}"/>
62. Hvilke typer børn kan objektelementer have i XAML?
Tre typer børn, et objektelement kan have
- Samlingsgenstande
- En værdi for indholdsegenskaben
- Værdien, der kan typekonverteres til objektelementet
63. Forklar, hvad er Type Converter?
Typekonverteren er nyttig til at konvertere en streng til den passende værditype, hvor der ikke er brug for markup-udvidelser. Typekonverteren definerer fire medlemmer til konvertering til og fra strenge til XAML-formål.
- CanConvertTo
- Kan konvertere fra
- Konverter til
- Konverter Fra
64. Forklar objektelementsyntaks i XAML?
For at instantiere en CLR-klasse eller -struktur ved at deklarere et XML-element bruges en XAML-markup-syntaks. Denne syntaks kaldes Object Element Syntax.
65. Hvordan kan du deklarere objekter i XAML?
For at erklære objekter i XAML er der tre måder
- Direkte ved brug af objektelementsyntaks: Denne syntaks bruges til at erklære rodobjekter eller indlejrede objekter, der angiver egenskabsværdier
- Indirekte ved at bruge attributsyntaks: Denne syntaks bruger en inline strengværdi, som har en instruktion om, hvordan man opretter et objekt. For at indstille værdien af egenskaben til en nyoprettet reference, bruger XAML-parseren denne streng
- Brug af en markup-udvidelse
66. Hvad skal et rodelement i et XAML-dokument indeholde?
I XAML-dokument består rodelementet kun af visse elementer, og disse elementer er vindue, et lærred eller paneler.
67. Hvad er databinding med XAML?
Databinding giver en enkel måde at vise og interagere med data. Et eksempel viser, hvordan du kan udføre databinding i XAML. Bindingen i XAML udføres ved hjælp af syntaksen {binding….}.
68. Forklar hvordan du kan vise forskellige data ved kørselstid og designtid?
- En måde at vise data på under kørsel og designtid er at erklære dine data i XAML
- En anden måde at gøre det på er ved at deklarere det i XAML ved hjælp af forskellige dataattributter fra designerens XML-navneområde. Med præfikset ad: deklareres dette navneområde typisk.
xmlns: d= http://schemas.microsoft.com/expression/blend/2008
69. Forklar, hvad er funktionen x: Nøgledirektiv i XAML?
X: Nøgle identificerer entydigt elementer, der er oprettet og refereret til i en XAML defineret ordbog. Ved at tilføje en x: nøgleværdi til et XAML-objektelement kan en ressource i ressourceordbogen identificeres og er den mest almindelige måde at identificere.
70. Forklar, hvad er brugen af egenskabselementsyntaks?
Ved hjælp af egenskabselementets syntaks kan du tilføje børneelementer med et navn i form af parent.propertyName.
71. Hvordan kan brugerdefinerede klasser, der bruges i XAML, defineres?
Brugerdefinerede klasser bruges på to måder
- Med koden, der producerer applikationen Primary Windows Presentation Foundation (WPF) eller inden for koden bagved
- I en separat samling som en klasse, såsom en eksekverbar eller DLL, der bruges som et klassebibliotek
72. Hvad er Xaml-navneområde?
Navneområde kan defineres som et miljø eller en abstrakt beholder, der bruges til at indeholde en logisk gruppering af unikke identifikatorer eller symboler.
Disse interviewspørgsmål vil også hjælpe i din viva(orals)
Tjek igen definitionen af tunnelen og boblebegivenheden, den ser ud til at være ombyttet.
Lad mig vide, hvis jeg tager fejl.