Topp 70 WPF-intervjuspørsmål og -svar (2024)
Her er WPF-intervjuspørsmål og svar for ferskinger så vel som erfarne kandidater for å få drømmejobben.
1. Hva er WPF?
WPF er den nyeste presentasjons-API fra Microsoft Windows. Det er 2D og 3D grafisk motor. Dens evner inkluderer: -
- Alle vanlige brukerkontroller. For eksempel avmerkingsbokser, knapper, skyveknapper osv.
- Støtter flyt- og fiksformatdokumenter
- all funksjonaliteten til Flash og HTML
- Data bindende
- multimedia
- animasjon
Gratis PDF-nedlasting: WPF-intervjuspørsmål og svar
2. Hvilke typer dokumenter støttes av WPF?
To typer dokumenter som støttes av Windows Presentation Foundation (WPF) er Flow-formatet og dokumentet med fast format. Flytformatdokument endrer innholdet slik at det passer til skjermstørrelsen, mens dokument med fast format presenterer innhold uavhengig av skjermstørrelsen.
3. Gi navn til navneområdet som kreves for å jobbe med 3D.
Navneområdet som kreves for å jobbe i 3D er System.Windows.Media.Medi3D.
4. Er det riktig å si at WPF har erstattet DirectX?
Nei, WPF kan aldri erstatte DirectX. WPF kan ikke brukes til å lage spill med fantastisk grafikk. WPF er ment å være en erstatning for Windows-form, ikke DirectX.
5. Hva er avhengighetsegenskaper?
Egenskaper som tilhører en bestemt klasse, men som kan brukes til en annen, kalles avhengighetsegenskapene.
6. Hvordan kan størrelsen på StatusBar økes proporsjonalt?
Ved å overstyre ItemsPanel-attributtet til StatusBar med et rutenett. Rutenettets kolonner kan konfigureres riktig for å få ønsket resultat.
7. Hva er frysbare objekter i WPF?
En gjenstand som har sin tilstand låst, slik at den blir uforanderlig, er kjent som en frysebar gjenstand. Slike objekter fungerer bedre. Det er også tryggere hvis de må deles mellom tråder.
8. Hvorfor bør WPF foretrekkes fremfor Adobe Flash?
WPF er en nyere teknologi og har dermed de nyeste utviklingsverktøyene. Den støtter et bredere spekter av programmeringsspråk og har en robust kontrollgjenbruk.
9. Hvordan er Silverlight forskjellig fra WPF-nettleserapplikasjonen?
En av de største forskjellene er at .NET-rammeverket kreves for å kjøre WPF-nettleserapplikasjoner på klientmaskinen. Men Silverlight kjører kun ved hjelp av plug-in. Et annet poeng av forskjell er at applikasjoner gjort i WPF avhenger av OS som .NET Framework bare kjører på Windows. På den annen side kan Silverlight-plugin-modulen også installeres på de operativsystemene, som ikke er Windows.
10. Navngi metodene som finnes i DependencyObject.
Den har tre objekter, nemlig:
- Settverdi
- ClearValue
- GetValue
11. Skriv om PRISM.
PRISM er et rammeverk for å lage komplekse applikasjoner for WPF, Silverlight eller Windows Phone. PRISM bruker MVVM, IC, Command Patterns, DI og Separation of Concerns for å få løs kobling.
12. Er det mulig å bruke Windows Forms i en WPF-applikasjon?
Ja, Windows-skjema kan brukes i WPF. Windows-skjema kan vises som en WPF-pop. Kontrollene til dette Window-skjemaet kan plasseres ved siden av WPF-kontroller på en WPF-side ved å bruke funksjonene til WindowsFormsHost-kontrollen som er forhåndsinstallert.
13. Beskriv CustomControl kort.
CustomControl utvider funksjonene til eksisterende kontroller. Den består av en standard stil i Themes/Generic.xaml og en kodefil. Det er den beste måten å lage et kontrollbibliotek og kan også styles eller males.
14. Nevn de vanlige sammenstillingene som brukes i WPF?
- PresentationFoundation
- WindowsBase
- PresentationCore
15. Definer Path-animasjoner i WPF
Baneanimasjon er en type animasjon der det animerte objektet følger en bane satt av banegeometrien.
16. Kan WPF-applikasjoner gjøres uten XAML?
Ja WPF-applikasjoner kan opprettes uten XAML, da bruk av XAML i WPF er et spørsmål om valg.
17. Hva er typene vinduer i WPF?
WPF har tre typer vinduer:
- Vanlig vindu
- Sidevindu
- Naviger vinduet
18. Hvordan kan elementer i en ListBox sorteres?
Sortering kan gjøres ved å bruke en egenskap til ItemsCollection-objektet. ItemsCollection inneholder et attributt, SortDescriptions, som inneholder System.ComponentModel.SortDescription-forekomster. Hver SortDescription-forekomst definerer hvordan elementene skal sorteres og indikerer om sorteringen er synkende eller stigende.
For eksempel sorterer denne koden elementer av ContentControl på grunnlag av deres ordtellingsegenskap:
myItemsControl.Items.SortDescriptions.Add(new SortDescription(“WordCount”, ListSortDirection.Descending));
19. Hvordan er MVVM forskjellig fra MVC?
MVC står for Model-View Controller og.MVVM står for Model-View ViewModel.
I MVVM brukes View Model i stedet for en kontroller. Denne visningsmodellen er til stede under UI-laget. Den avslører kommandoobjektene og dataene som visningen krever. Den fungerer som et beholderobjekt som visningen henter handlingene og dataene fra.
20. Forklar rutede hendelser i WPF.
En hendelse, som kan påkalle behandlere på mer enn én lyttere som er tilstede i et elementtre, i stedet for enkeltobjektet som kalte hendelsen, er kjent som en rutet hendelse.
21. Hvordan brukes System.Windows.Media.Visual dll i WPF?
Den brukes når det oppstår et behov for å lage tilpasset brukergrensesnitt. Det er et tegneobjekt, som gir instruksjoner for å lage et objekt. Disse instruksjonene inkluderer tetthet etc. på tegningen. Visual-klassen bygger også bro over funksjonaliteten til WPF-administrerte klasser og MilCore.dll.
22. Hva er de ulike layoutpanelene i WPF?
De er:
- Stabelpanel
- Rutenett
- Lerretspanel
- Dockpanel
- Pakk inn panel
23. Nevn de viktige delsystemene i WPF
De viktigste undersystemene er:
- Windows.Controls.Control
- Windows.DependancyObject
- Windows.FrameworkElement
- Windows.Media.Visuals
- Objekt
- Threading.DispatcherObject
- Windows.UIElements
24. Hva betyr BAML i WPF?
BAML er forkortelsen for Binary Application Markup Language. Det er ingenting annet enn XAML som har blitt tokenisert, analysert og endret til binær form. BAML er et komprimert deklarativt språk, som blir lastet og analysert raskere enn XAML.
25. Hva er forskjellen mellom side- og vinduskontroller i WPF?
Den grunnleggende forskjellen er at Window Control presiderer over Windows Application mens Page Control presiderer over de vertsbaserte nettleserapplikasjonene. Vindukontroll kan også inneholde sidekontroll, men det motsatte kan ikke skje.
26. Hva er Attached Properties i WPF?
Vedlagte egenskaper er i utgangspunktet avhengighetsegenskaper som tillater vedlegg av en verdi til et hvilket som helst tilfeldig objekt.
27. Hva er INotifyPropertyChanged-grensesnittet?
InotifyPropertyChanged varsler klienter, vanligvis de som er bindende, hvis verdien av en eiendom endres. Den har en hendelse, kalt PropertyChanged, som heves hver gang en egenskap til modellobjektet endres.
28. Hva er den grunnleggende forskjellen mellom hendelser og kommandoer i MVVM-modellen?
Kommandoer er kraftigere og er fordelaktige å bruke i stedet for hendelser. Handlinger er dypt forbundet med hendelsens kilde, og derfor kan hendelsene ikke enkelt gjenbrukes. Men kommandoer gjør det mulig å effektivt vedlikeholde flere handlinger på ett sted og deretter gjenbruke dem i henhold til vårt krav.
29. Hva er metoden for å tvinge lukking av et verktøytips, som er synlig for øyeblikket?
Den kan lukkes ved å sette verktøytipsets IsOpen-egenskap til false.
30. Skriv forskjellene mellom DynamicResource og StaticResource.
Den mest grunnleggende forskjellen er at StaticResource evaluerer ressursen kun én gang, men DynamicResource evaluerer den hver gang ressursen kreves. Og på grunn av denne grunn er DyanamicResource tungt på systemet, men det gjør at sider eller vinduer lastes raskere
31. Forklar MVVM-mønster.
MVVM-mønsteret deler UI-koden i 3 grunnleggende deler:
- Modell - Den representerer et sett med klasser, som inneholder data mottatt fra databaser.
- Vis - Det er koden som stemmer overens med den visuelle representasjonen av dataene.
- ViewModel – Det er laget som binder View og Model sammen. Den presenterer disse dataene på en måte som er lett å forstå. Den kontrollerer også hvordan View samhandler med applikasjonen.
32. Hvorfor trengs layoutpaneler i WPF?
Layout-paneler er nødvendig slik at kontrollene passer til skjermer med forskjellige størrelser eller med forskjellige skriftstørrelser. Hvis vi ordner kontroller på faste pikselkoordinater, vil denne modellen mislykkes når den flyttes til et annet miljø. Av denne grunn er Layout-paneler nødvendige.
33. Skriv kort om UserControl.
UserControl pakker eksisterende kontroller inn i en enkelt gjenbrukbar gruppe. Den inneholder en XAML-fil og en kode. UserControl kan ikke styles eller males.
34. Hva er måten å finne ut om en frysebar gjenstand er frossen?
"IsFrozen"-egenskapen til objektet kan brukes til å bestemme om det frysbare objektet er frosset.
35. Hva er måleenheten i WPF?
Alle målinger gjøres i enhetsuavhengige piksler, eller logiske piksler. Én piksel er 1/96 del av en tomme. Disse logiske pikslene er alltid nevnt som doble, dette gjør at de også kan ha en brøkverdi.
36. Hva er en smykker?
De er en spesiell type FrameworkElement som gir visuelle ledetråder til brukeren. De brukes også til å legge til håndtak til elementer og gi informasjon om tilstanden til en kontroll. Utsmykninger er bundet til UIElementet og gjengis på en overflate som ligger over elementet, som er utsmykket. Denne overflaten kalles et AdornerLayer. Utsmykninger er for det meste plassert i forhold til det avgrensede elementet.
37. Forklar serialisering?
Det er prosessen med å konvertere tilstanden til et objekt til strøm av byte.
38. Støttes MDI i WPF?
MDI støttes ikke i WPF. UserControl kan brukes til å gi samme funksjonalitet som MDI.
39. Hva er XBAP?
XBAP er den forkortede formen for XAML Browser Application. Den lar WPF-applikasjoner kjøre i nettlesere. Installasjon av .NET framework på klientmaskinen er en forutsetning for å kjøre WPF-applikasjoner. Men vertsbaserte applikasjoner gis ikke full adgang til klientens maskin og kjøres i et sandkassemiljø. Ved hjelp av WPF kan slike applikasjoner også lages, som kjøres direkte i nettleseren. Disse applikasjonene kalles XBAP.
40. I hvilken forstand er WPF og Silverlight like?
Silverlight og WPF er like i den forstand at de begge bruker XAML og deler samme kode, syntaks og biblioteker.
41. Hvordan få et verktøytips til å vises mens du holder musepekeren over et deaktivert element?
Til dette formålet kan egenskapen ShowOnDisabled brukes. Den tilhører ToolTipService-klassen.
42. Hvordan kan ListBox fås til å rulle jevnt?
ListBox er konfigurert til å rulle på et element-for-element-basis som standard. Dette er avhengig av høyden på hvert element og rullehandlingen, og gir dermed en røff følelse. En bedre måte er å konfigurere rullehandlingen slik at den forskyver elementer med noen få piksler uavhengig av høyden. Dette gjøres ved å sette egenskapen ScrollViewer.CanContentScroll til "false". Dette vil imidlertid gjøre at ListBox mister virtualiseringsegenskapen.
43. Hvor starter kjøringen i en WPF-applikasjon?
WPF-applikasjoner opprettet i Visual Studio kjører uten en hovedmetode. Dette er fordi applikasjonene er spesialbelagte når de kompileres fra XAML. Det betyr at Visual Studio legger ved en byggehandling av ApplicationDefinition til XAML-filen. Dette resulterer i automatisk generering av en hovedmetode.
44. Kan Windows-tjenesten opprettes ved hjelp av WPF?
Nei, Windows-tjenester kan ikke opprettes med WPF. WPF er et presentasjonsspråk. Windows-tjenester trenger spesifikke tillatelser for å utføre noen GUI-relaterte funksjoner. Derfor, hvis den ikke får de nødvendige tillatelsene, gir den feil.
45. Hva er de forskjellige typene rutede hendelser i WPF?
Det er tre typer rutede hendelser i WPF. De er:
- Direkte – Denne hendelsen kan bare oppstå av elementet der den oppsto.
- Tunnelering – Denne hendelsen blir først hevet av elementet som den oppsto i, og deretter heves den av hver påfølgende beholder i det visuelle treet.
- bobler – Denne hendelsen blir først hevet av den øverste beholderen i det visuelle treet og blir deretter hevet av hver påfølgende beholder som ligger under den øverste, til den når elementet den der den oppsto.
46. Hvorfor er det bedre å pakke inn elementer i ComboBoxItem?
Den har noen viktige egenskaper som IsSelected og IsHighlighted og også noen nødvendige hendelser som Selected og Unselected. ComboBoxItem er en innholdskontroll og er dermed svært nyttig for å legge til enkle strenger til en ComboBox.
47. Hvordan får jeg automatiserings-IDer for varer i en ItemsControl?
Den beste måten å gjøre dette på er ved å angi den Name-egenskapen da den brukes til automatiseringsformål som standard. Men hvis du trenger å gi en ID til et element, annet enn dets navn, kan AutomationProperties.AutomationID-egenskapen angis etter behov.
48. Hvordan kan kommandolinjeargumenter hentes i en WPF-applikasjon?
Den mest foretrukne metoden for dette er å kalle System.Environment.GetCommandLineArgs på et hvilket som helst tilfeldig punkt i applikasjonen.
49. Oppgi navnet på klassene, som inneholder vilkårlig innhold.
Innholdskontroll
HeaderedContent Control
Varekontroll
HeaderedItems-kontroll
50. Hvilket navneområde har "Popup" og "Tommel"-kontroller?
Navneområdet system.windows.controls.primitives har "Popup" og "Thumb" kontroller.
51. Forklar hva er XAML? Hva er forskjellen mellom XML og XAML?
XAML står for eXtensible Application Markup Language. Det er språket som brukes til å instansiere.NET-objekter. Det er språket utviklet av Microsoft å skrive brukergrensesnitt for neste generasjons applikasjoner.
XML er designet for å lagre data eller for å jobbe med de lagrede dataene, mens XAML er den utvidede versjonen av XML som brukes for.NET-programmering.
52. Nevn fordelen med å bruke XAML?
Fordelen med å bruke XAML er
- XAML-koden er tydelig å lese, og de er korte
- Separasjon av designerkode og logikk
- Verktøy som uttrykksblanding brukt til grafisk design krever XAML som kilde
- Det skiller klart rollene som designer og utvikler
53. Hvordan kan du kode for å vise "Hello World" i XAML?
Viser «Hello World».
<page xmlns= '' ''> <TextBlock> Hello, World! </TextBlock> </Page>
54. Hvordan spesifiseres grafiske komponenter i XAML?
I XAML spesifiseres grafiske komponenter med åpne eller lukkede tagger med attributter.
For eksempel,
- Merk med innhold
Klikk
- Tag uten innhold
< Knapp/>
55. Hva er attributtsyntaks i XAML?
I XAML setter attributtsyntaks en verdi for en egenskap eller navngir hendelsesbehandleren for en hendelse, ved å deklarere et attributt på et element. Attributtverdien skal være omgitt av to anførselstegn (“).
For eksempel,
< Button Background = “Black” Foreground “Red” Content = “This is an operating button”/>
56. Forklar innholdsegenskaper XAML?
XAML representerer en språkfunksjon der en klasse kan tildele nøyaktig en av egenskapene sine som XAML-egenskap
57. Forklar hva er Markup extension i XAML?
Markup-utvidelser er plassholdere i XAML som brukes til å løse eiendom under kjøring. En markup-utvidelse lar deg utvide XAML og ved å bruke attributtsyntaks kan du også angi hvilken som helst egenskap som kan settes i XAML. Formålet med markup-utvidelsen er å behandle en streng og returnere et objekt. Noen av standard markup-utvidelsene er xNull, x: Array, :StaticResource og DynamicResource.
58. Hva er de fire generelle typene XAML-elementer?
De fire generelle typene XAML-elementer er
- Rotelementer
- Panelelementer
- Kontrollelementer
- Geometriske elementer
59. Hva X: prefiks indikerer i XAML?
X:-prefikset brukes til å kartlegge XAML-navneområdet i maler.
60. Hva er de forskjellige X:-prefiksene som brukes i XAML-språket?
- x: Key à Den setter en unik nøkkel for hver ressurs i en ressursordbok
- x: Classà Den spesifiserer CLR (Common Language Runtime) navneområde og klassenavn for klassen som gir kode
- x: Navn à Det spesifiserer et kjøretidsobjektnavn for forekomsten som eksisterer i kjøretidskode etter at et objektelement er behandlet
- x: Statisk à Det muliggjør en referanse som returnerer en statisk verdi som ellers er en XAML-kompatibel egenskap
- x: Type à Den konstruerer en Typereferanse basert på typenavnet
61. Hvordan kan du angi et egenskapsattributt som en bokstavelig streng og ikke en oppmerkingsutvidelse?
For å unngå markeringsforlengelse må du bruke et par tom krøllete seler som
Content = "{} {This is not a markup extension}"/>
62. Hvilke typer barn kan objektelementer ha i XAML?
Tre typer barn et objektelement kan ha
- Samlingsartikler
- En verdi for innholdsegenskapen
- Verdien som kan typekonverteres til objektelementet
63. Forklar hva er Type Converter?
Typekonverteren er nyttig for å konvertere en streng til riktig verditype der det ikke er bruk for markup-utvidelser. Type Converter definerer fire medlemmer for konvertering til og fra streng for xaml-formål.
- CanConvertTo
- Kankonvertere fra
- Konverter til
- Konverter fra
64. Forklar objektelementsyntaks i XAML?
For å instansiere en CLR-klasse eller -struktur ved å deklarere et XML-element, brukes en XAML-markeringssyntaks. Denne syntaksen omtales som objektelementsyntaks.
65. Hvordan kan du deklarere objekter i XAML?
For å deklarere objekter i XAML, er det tre måter
- Direkte ved bruk av objektelementsyntaks: Denne syntaksen brukes til å deklarere rotobjekter eller nestede objekter som setter egenskapsverdier
- Indirekte ved å bruke attributtsyntaks: Denne syntaksen bruker en innebygd strengverdi som har en instruksjon om hvordan du oppretter et objekt. For å sette verdien til egenskapen til en nyopprettet referanse, bruker XAML-parseren denne strengen
- Bruke en markup-utvidelse
66. Hva skal et rotelement i et XAML-dokument inneholde?
I XAML-dokumentet består rotelementet kun av visse elementer, og disse elementene er Window, et Canvas eller paneler.
67. Hva er databinding med XAML?
Databinding gir en enkel måte å vise og samhandle med data. Et eksempel vil vise hvordan du kan gjøre databinding i XAML. Bindingen i XAML gjøres ved å bruke {binding….}-syntaks.
68. Forklar hvordan du kan vise forskjellige data ved kjøretid og designtid?
- En måte å vise data på under kjøretid og designtid er å deklarere dataene dine i XAML
- En annen måte å gjøre det på er ved å deklarere det i XAML ved å bruke ulike dataattributter fra designerens XML-navneområde. Med ad: prefiks er dette navneområdet vanligvis deklarert.
xmlns: d= http://schemas.microsoft.com/expression/blend/2008
69. Forklar hva som er funksjonen x: Nøkkeldirektiv i XAML?
X: Nøkkel identifiserer unikt elementer som er opprettet og referert til i en XAML-definert ordbok. Ved å legge til en x: nøkkelverdi til et XAML-objektelement kan en ressurs i ressursordboken identifiseres og er den vanligste måten å identifisere på.
70. Forklar hva er bruken av egenskapselementsyntaks?
Ved hjelp av egenskapselementsyntaks kan du legge til barneelement med et navn i form av parent.propertyName.
71. Hvordan kan tilpassede klasser som brukes i XAML defineres?
Egendefinerte klasser brukes på to måter
- Med koden som produserer Primary Windows Presentation Foundation (WPF)-applikasjonen eller innenfor koden bak
- I en separat sammenstilling som en klasse, for eksempel en kjørbar fil eller DLL brukt som et klassebibliotek
72. Hva er Xaml-navneområde?
Navneområde kan defineres som et miljø eller en abstrakt beholder som brukes til å holde en logisk gruppering av unike identifikatorer eller symboler.
Disse intervjuspørsmålene vil også hjelpe i din viva(orals)
Sjekk definisjonen av tunnelen og boblehendelsen på nytt, den ser ut til å være byttet om.
Gi meg beskjed hvis jeg tar feil.