Top 72 pitanja i odgovora na WPF intervjuu (2025.)

Ovdje su pitanja i odgovori na razgovoru za WPF za brucoše kao i za iskusne kandidate da dobiju posao iz snova.


1. Što je WPF?

WPF je najnoviji prezentacijski API Microsoft Windowsa. To je 2D i 3D grafički motor. Njegove mogućnosti uključuju:-

  • Sve uobičajene korisničke kontrole. Na primjer, okviri za potvrdu, gumbi, klizači itd.
  • Podržava dokumente protoka i fiksnog formata
  • sve funkcije Flasha i HTML
  • Povezivanje podataka
  • multimedijalni
  • Animacija

Besplatno preuzimanje PDF-a: Pitanja i odgovori za WPF intervju


2. Koje su vrste dokumenata koje podržava WPF?

Dvije vrste dokumenata koje podržava Windows Presentation Foundation (WPF) su Flow format i dokument fiksnog formata. Dokument Flow formata mijenja sadržaj kako bi odgovarao veličini zaslona, ​​dok dokument fiksnog formata predstavlja sadržaj bez obzira na veličinu zaslona.


3. Imenujte imenski prostor potreban za rad s 3D.

Prostor imena potreban za rad u 3D je System.Windows.Media.Medi3D.


4. Može li se reći da je WPF zamijenio DirectX?

Ne, WPF nikada ne može zamijeniti DirectX. WPF se ne može koristiti za stvaranje igara sa zapanjujućom grafikom. WPF je zamišljen kao zamjena za Windows obrazac, a ne za DirectX.


5. Što su svojstva ovisnosti?

Svojstva koja pripadaju određenoj klasi, ali se mogu koristiti za drugu zovu se svojstva ovisnosti.

WPF pitanja za intervju
WPF pitanja za intervju

6. Kako se veličina statusne trake može proporcionalno povećati?

Nadglasavanjem atributa ItemsPanel statusne trake s rešetkom. Stupci mreže mogu se prikladno konfigurirati kako bi se dobio željeni rezultat.


7. Što su Freezable objekti u WPF-u?

Objekt čije je stanje zaključano, tako da postaje nepromjenjiv, poznat je kao objekt koji se može zamrznuti. Takvi objekti rade bolje. Također je sigurnije ako se zahtijeva da se dijele između niti.


8. Zašto bi WPF trebao biti bolji od Adobe Flasha?

WPF je novija tehnologija i stoga ima najnovije razvojne alate. Podržava širi raspon programskih jezika i ima robusnu ponovnu upotrebu kontrole.


9. Kako se Silverlight razlikuje od WPF aplikacije preglednika?

Jedna od glavnih razlika je da je .NET framework potreban za pokretanje WPF aplikacija preglednika na klijentskom stroju. Ali Silverlight radi samo pomoću dodatka. Još jedna razlika je u tome što aplikacije napravljene u WPF-u ovise o OS jer .NET Framework radi samo na Windowsima. S druge strane, dodatak Silverlight može se instalirati i na one OS-e koji nisu Windows.


10. Imenujte metode prisutne u DependencyObject.

Ima tri objekta i to:

  • SetValue
  • ClearValue
  • GetValue

11. Pišite o PRISM-i.

PRISM je okvir za izradu složenih aplikacija za WPF, Silverlight ili Windows Phone. PRISM koristi MVVM, IC, uzorke naredbi, DI i razdvajanje problema kako bi dobio labavu vezu.


12. Je li moguće koristiti Windows Forms u WPF aplikaciji?

Da, Windows obrazac se može koristiti u WPF-u. Windows obrazac može se pojaviti kao WPF pop. Kontrole ovog obrasca prozora mogu se postaviti pored WPF kontrola na WPF stranici korištenjem funkcija kontrole WindowsFormsHost koja dolazi unaprijed instalirana.

Windows Presentation Foundation (WPF)
Windows Presentation Foundation (WPF)

13. Ukratko opišite CustomControl.

CustomControl proširuje funkcije postojećih kontrola. Sastoji se od zadanog stila u Themes/Generic.xaml i kodne datoteke. To je najbolji način za izradu kontrolne biblioteke, a također se može oblikovati ili izraditi predložak.


14. Navedite uobičajene sklopove koji se koriste u WPF-u?

  • Zaklada prezentacije
  • WindowsBase
  • PresentaionCore

15. Definirajte Path animacije u WPF-u

Animacija putanje je vrsta animacije u kojoj animirani objekt slijedi putanju postavljenu geometrijom putanje.


16. Mogu li se WPF aplikacije izraditi bez XAML-a?

Da, WPF aplikacije mogu se izraditi bez XAML-a jer je korištenje XAML-a u WPF-u stvar izbora.


17. Koje su vrste prozora u WPF-u?

WPF ima tri tipa prozora:

  • Normalni prozor
  • Prozor stranice
  • Prozor za navigaciju

18. Kako se elementi u ListBoxu mogu sortirati?

Razvrstavanje se može izvršiti korištenjem svojstva objekta ItemsCollection. ItemsCollection sadrži atribut, SortDescriptions, koji sadrži instance System.ComponentModel.SortDescription. Svaka instanca SortDescription definira kako elementi trebaju biti sortirani i pokazuje je li sortiranje silazno ili uzlazno.

Na primjer, ovaj kod sortira elemente ContentControl-a na temelju njihovog svojstva broja riječi:

myItemsControl.Items.SortDescriptions.Add(new SortDescription("WordCount", ListSortDirection.Descending));

19. Kako se MVVM razlikuje od MVC?

MVC je kratica za Model-View Controller, a .MVVM je kratica za Model-View ViewModel.

U MVVM, View Model se koristi umjesto kontrolera. Ovaj model prikaza prisutan je ispod sloja korisničkog sučelja. Otkriva naredbene objekte i podatke koje pogled zahtijeva. Ponaša se kao objekt spremnika iz kojeg pogled dobiva svoje radnje i podatke.


20. Objasnite preusmjerene događaje u WPF-u.

Događaj koji može pozvati rukovatelje na više slušača prisutnih u stablu elemenata, umjesto jednog objekta koji je pozvao događaj, poznat je kao Routed event.


21. Kako se System.Windows.Media.Visual dll koristi u WPF-u?

Koristi se kad god se pojavi potreba za kreiranjem prilagođenog korisničkog sučelja. To je predmet za crtanje, koji daje upute za izradu predmeta. Ove upute uključuju neprozirnost itd. crteža. Klasa Visual također premošćuje funkcionalnosti WPF upravljanih klasa i MilCore.dll.


22. Koje su različite ploče izgleda u WPF-u?

Oni su:

  • Stack Panel
  • Mrežna ploča
  • Platnena ploča
  • Dock Panel
  • Omotajte ploču

23. Navedite važne podsustave u WPF-u

Glavni podsustavi su:

  • Windows.Kontrole.Kontrola
  • Windows.DependancyObject
  • Windows.FrameworkElement
  • Windows.Media.Vizuali
  • Objekt
  • Threading.DispatcherObject
  • Windows.UIElements

24. Što BAML znači u WPF-u?

BAML je skraćenica za Binary Application Markup Language. To nije ništa drugo nego XAML koji je tokeniziran, raščlanjen i promijenjen u binarni oblik. BAML je komprimirani deklarativni jezik koji se učitava i analizira brže od XAML-a.


25. Koja je razlika između kontrola stranice i prozora u WPF-u?

Osnovna razlika je u tome što kontrola prozora upravlja Windows aplikacijom, dok kontrola stranice upravlja hostiranim aplikacijama preglednika. Također, kontrola prozora može sadržavati kontrolu stranice, ali obrnuto se ne može dogoditi.


26. Što su priložena svojstva u WPF-u?

Priložena svojstva su u osnovi svojstva ovisnosti koja omogućuju pripajanje vrijednosti bilo kojem slučajnom objektu.


27. Što je sučelje INotifyPropertyChanged?

InotifyPropertyChanged obavještava klijente, općenito one koji su obvezujući, ako se promijeni vrijednost svojstva. Ima događaj pod nazivom PropertyChanged, koji se pokreće svaki put kada se promijeni svojstvo objekta Model.


28. Koja je osnovna razlika između događaja i naredbi u MVVM modelu?

Naredbe su snažnije i bolje ih je koristiti umjesto događaja. Radnje su duboko povezane s izvorom događaja i stoga se događaji ne mogu lako ponovno upotrijebiti. Ali naredbe omogućuju učinkovito održavanje više radnji na jednom mjestu i njihovo ponovno korištenje prema našim zahtjevima.


29. Koja je metoda za prisilno zatvaranje ToolTip-a, koji je trenutno vidljiv?

Može se zatvoriti postavljanjem svojstva IsOpen opisa alata na false.


30. Napišite razlike između DynamicResource i StaticResource.

Najosnovnija razlika je u tome što StaticResource procjenjuje resurs samo jednom, ali ga DynamicResource procjenjuje svaki put kada je resurs potreban. Zbog toga je DyanamicResource težak za sustav, ali ubrzava učitavanje stranica ili prozora


31. Objasnite MVVM obrazac.

MVVM obrazac dijeli UI kod u 3 osnovna dijela:

  • Model - Predstavlja skup klasa koje sadrže podatke primljene iz baza podataka.
  • Prikaz - Kod je taj koji se slaže s vizualnim prikazom podataka.
  • ViewModel – To je sloj koji povezuje pogled i model. Te podatke predstavlja na način koji je lako razumjeti. Također kontrolira kako View komunicira s aplikacijom.

32. Zašto su potrebne ploče izgleda u WPF-u?

Ploče izgleda potrebne su kako bi kontrole odgovarale zaslonima različitih veličina ili različitim veličinama fonta. Ako rasporedimo kontrole na fiksnim koordinatama piksela, ovaj model neće uspjeti kada se premjesti u drugo okruženje. Iz tog razloga su potrebne ploče rasporeda.


33. Napiši ukratko o UserControlu.

UserControl umata postojeće kontrole u jednu grupu koja se može ponovno koristiti. Sadrži XAML datoteku i kod. UserControl se ne može stilizirati ili izraditi.


34. Koji je način da se utvrdi je li Freezable objekt zamrznut?

Svojstvo "IsFrozen" objekta može se koristiti za određivanje je li objekt koji se može zamrznuti zamrznut.


35. Koja je mjerna jedinica u WPF-u?

Sva mjerenja vrše se u pikselima neovisnim o uređaju ili logičkim pikselima. Jedan piksel je 1/96 dio inča. Ovi logički pikseli uvijek se spominju kao dvostruki, što im također omogućuje da imaju razlomačku vrijednost.


36. Što je adorner?

Oni su posebna vrsta FrameworkElementa koji korisniku pružaju vizualne tragove. Također se koriste za dodavanje ručica elementima i davanje informacija o stanju kontrole. Ukrasi su vezani za UIElement i prikazani su na površini koja se nalazi iznad elementa koji je ukrašen. Ova se površina naziva AdornerLayer. Ukrasi se uglavnom postavljaju u odnosu na omeđeni element.


37. Objasnite serijalizaciju?

To je proces pretvaranja stanja objekta u tok bajtova.


38. Je li MDI podržan u WPF-u?

MDI nije podržan u WPF-u. UserControl se može koristiti za pružanje iste funkcije kao MDI.


39. Što je XBAP?

XBAP je skraćeni oblik XAML aplikacije preglednika. Omogućuje pokretanje WPF aplikacija unutar web preglednika. Instalacija .NET frameworka na klijentsko računalo je preduvjet za pokretanje WPF aplikacija. Ali hostirane aplikacije nemaju potpuni pristup klijentovom stroju i izvršavaju se u sandbox okruženju. Pomoću WPF-a mogu se izraditi i takve aplikacije koje se pokreću izravno u pregledniku. Te se aplikacije nazivaju XBAP.


40. U kojem smislu su WPF i Silverlight slični?

Silverlight i WPF slični su u smislu da oba koriste XAML i dijele isti kod, sintaksu i biblioteke.


41. Kako učiniti da se ToolTip pojavi dok lebdite iznad onemogućenog elementa?

U tu svrhu može se koristiti svojstvo ShowOnDisabled. Pripada klasi ToolTipService.


42. Kako se ListBox može postići da se glatko pomiče?

ListBox je prema zadanim postavkama konfiguriran za pomicanje stavku po stavku. To ovisi o visini svakog elementa i radnji pomicanja, što daje grub osjećaj. Bolji način je konfigurirati radnju pomicanja tako da pomiče stavke za nekoliko piksela bez obzira na njihovu visinu. To se postiže postavljanjem svojstva ScrollViewer.CanContentScroll na "false". Ovo će, međutim, učiniti da ListBox izgubi svojstvo virtualizacije.


43. Gdje počinje izvršenje u WPF aplikaciji?

WPF aplikacije stvorene u Visual Studiju izvode se bez glavne metode. To je zato što su aplikacije posebno oblikovane kada su kompajlirane iz XAML-a. To znači da Visual Studio prilaže radnju izgradnje ApplicationDefinition XAML datoteci. To rezultira automatskim generiranjem glavne metode.


44. Može li se Windows usluga kreirati pomoću WPF-a?

Ne, Windows usluge se ne mogu stvoriti pomoću WPF-a. WPF je prezentacijski jezik. Windows servisi trebaju posebna dopuštenja za izvođenje nekih funkcija povezanih s GUI-jem. Stoga, ako ne dobije potrebna dopuštenja, prikazuje pogreške.


45. Koje su različite vrste preusmjerenih događaja u WPF-u?

Postoje tri vrste preusmjerenih događaja u WPF-u. Oni su:

  • Izravno – Ovaj događaj može pokrenuti samo element u kojem je nastao.
  • Tuneliranje – Ovaj događaj prvo pokreće element u kojem je nastao, a zatim ga pokreće svaki uzastopni spremnik u vizualnom stablu.
  • mjehurići – Ovaj događaj prvo podiže najviši spremnik u vizualnom stablu, a zatim ga podiže svaki uzastopni spremnik koji leži ispod najvišeg, sve dok ne dosegne element u kojem je nastao.

46. ​​Zašto je bolje omotati stavke u ComboBoxItem?

Ima neka važna svojstva kao što su IsSelected i IsHighlighted i također neke potrebne događaje kao što su Selected i Unselected. ComboBoxItem je kontrola sadržaja i stoga je vrlo korisna za dodavanje jednostavnih nizova u ComboBox.


47. Kako dobiti ID-ove automatizacije stavki u ItemsControl?

Najbolji način da to učinite je postavljanje svojstva Naziv jer se prema zadanim postavkama koristi u svrhe automatizacije. Ali ako želite dati ID elementu, osim njegovog naziva, tada se svojstvo AutomationProperties.AutomationID može postaviti prema potrebi.


48. Kako se argumenti naredbenog retka mogu dohvatiti u WPF aplikaciji?

Najpoželjnija metoda za to je pozivanje System.Environment.GetCommandLineArgs u bilo kojoj nasumičnoj točki u aplikaciji.


49. Navedite nazive klasa koje imaju proizvoljan sadržaj.

Kontrola sadržaja

HeaderedContent Control

Kontrola predmeta

Kontrola HeaderedItems


50. Koji NameSpace ima 'Popup' i 'Thumb' kontrole?

Prostor imena system.windows.controls.primitives ima kontrole 'Popup' i 'Thumb'.


51. Objasnite što je XAML? Koja je razlika između XML i XAML?

XAML je kratica za eXtensible Application Markup Language (eXtensible Application Markup Language). To je jezik koji se koristi za instanciranje .NET objekata. To je jezik koji je razvio microsoft napisati korisničko sučelje za sljedeće generacije aplikacija.

XML je dizajniran za pohranu podataka ili za rad s pohranjenim podacima, dok je XAML proširena verzija XML-a koja se koristi za .NET programiranje.


52. Navedite prednost korištenja XAML-a?

Prednost korištenja XAML-a je

  • XAML kod je jasan za čitanje i kratki su
  • Odvajanje dizajnerskog koda i logike
  • Alati poput mješavine izraza koji se koriste za grafički dizajn zahtijevaju XAML kao izvor
  • Jasno razdvaja uloge dizajnera i programera

53. Kako možete kodirati za prikaz "Hello World" u XAML-u?

Prikazivanje "Hello World."

<page xmlns= '' ''>

<TextBlock>

Hello, World!

</TextBlock>

</Page>

54. Kako su u XAML-u navedene grafičke komponente?

U XAML-u, grafičke komponente specificirane su otvorenim ili zatvorenim oznakama s atributima.

Na primjer,

  • Oznaka sa sadržajem

Kliknite

  • Oznaka bez sadržaja

<Gumb/>


55. Što je sintaksa atributa u XAML-u?

U XAML-u, sintaksa atributa postavlja vrijednost za svojstvo ili imenuje rukovatelj događajem deklariranjem atributa na elementu. Vrijednost atributa treba biti zatvorena unutar dva navodnika (").

Na primjer,

< Button Background = "Black" Foreground "Red" Content = "This is an operating button"/>

XML


56. Objasnite svojstva sadržaja XAML?

XAML predstavlja jezičnu značajku pri čemu klasa može dodijeliti točno jedno od svojih svojstava kao XAML svojstvo


57. Objasnite što je Markup extension u XAML-u?

Markup proširenja su rezervirana mjesta u XAML-u koja se koriste za rješavanje svojstva tijekom izvođenja. Označno proširenje vam omogućuje proširenje XAML-a, a korištenjem sintakse atributa također možete postaviti bilo koje svojstvo koje se može postaviti u XAML-u. Svrha označavajućeg proširenja je obrada niza i vraćanje objekta. Neka od standardnih proširenja za označavanje su xNull, x: Poredak, :StatičkiResurs i DinamičkiResurs.


58. Koje su četiri opće vrste XAML elemenata?

Četiri opće vrste XAML elemenata su

  • Korijenski elementi
  • Elementi ploče
  • Upravljački elementi
  • Geometrijski elementi

59. Što X: prefiks označava u XAML-u?

Prefiks X: koristi se za mapiranje prostora imena XAML u predlošcima.


60. Koji se različiti X: prefiksi koriste u XAML jeziku?

  • x: Ključ à Postavlja jedinstveni ključ za svaki resurs u Rječniku resursa
  • x: Classà Određuje prostor imena CLR (Common Language Runtime) i naziv klase za klasu koja pruža kod
  • x: Ime à Određuje naziv objekta za vrijeme izvođenja za instancu koja postoji u kodu za vrijeme izvođenja nakon obrade elementa objekta
  • x: Static à Omogućuje referencu koja vraća statičku vrijednost koja je inače XAML kompatibilno svojstvo
  • x: Tip à Konstruira referencu tipa na temelju imena tipa

61. Kako možete postaviti atribut svojstva kao doslovni niz, a ne proširenje oznake?

Da biste izbjegli proširenje oznake, morate koristiti prazan par vitičastih zagrada kao što je

Sadržaj = “{} {Ovo nije proširenje za označavanje}”/>


62. Koje vrste djece element objekta može imati u XAML-u?

Tri tipa djece element objekta može imati

  • Predmeti zbirke
  • Vrijednost za svojstvo sadržaja
  • Vrijednost koja se može tipski pretvoriti u element objekta

63. Objasnite što je Type Converter?

Pretvarač tipova je koristan za pretvaranje niza znakova u odgovarajući tip vrijednosti tamo gdje se ne koristi proširenje za označavanje. Pretvarač tipova definira četiri člana za pretvaranje u i iz niza znakova za xaml svrhe.

  • CanConvertTo
  • CanConvertFrom
  • Pretvori u
  • Pretvori iz

64. Objasnite sintaksu elementa objekta u XAML-u?

Za instanciranje CLR klase ili strukture deklariranjem XML elementa koristi se XAML sintaksa označavanja. Ova sintaksa se naziva sintaksa objektnog elementa.


65. Koji su načini na koje možete deklarirati objekte u XAML-u?

Postoje tri načina za deklariranje objekata u XAML-u

  • Izravno, pomoću sintakse elementa objekta: Ova se sintaksa koristi za deklariranje korijenskih objekata ili ugniježđenih objekata koji postavljaju vrijednosti svojstava
  • Neizravno pomoću sintakse atributa: Ova sintaksa koristi ugrađenu vrijednost niza koja ima upute o tome kako stvoriti objekt. Za postavljanje vrijednosti svojstva na novostvorenu referencu, XAML parser koristi ovaj niz
  • Korištenje proširenja za označavanje

66. Što treba sadržavati korijenski element XAML dokumenta?

U XAML dokumentu, korijenski element se sastoji samo od određenih elemenata, a ti elementi su prozor, platno ili paneli.


67. Što je povezivanje podataka s XAML-om?

Povezivanje podataka omogućuje jednostavan način prikaza i interakcije s podacima. Primjer će pokazati kako možete izvršiti povezivanje podataka u XAML-u. Povezivanje u XAML-u vrši se pomoću sintakse {binding….}.


68. Objasnite kako možete prikazati različite podatke za vrijeme izvođenja i za vrijeme dizajna?

  • Jedan od načina prikazivanja podataka tijekom vremena izvođenja i dizajna je deklariranje podataka u XAML-u
  • Drugi način je deklariranje u XAML-u korištenjem različitih atributa podataka iz dizajnerskog XML imenskog prostora. Ovaj imenski prostor se obično deklarira s prefiksom ad:.

xmlns: d= http://schemas.microsoft.com/expression/blend/2008


69. Objasnite što je funkcija x: Key directive u XAML-u?

X: Ključ jedinstveno identificira elemente koji su stvoreni i navedeni u XAML definiranom rječniku. Dodavanjem x: vrijednosti ključa elementu XAML objekta može se identificirati resurs u rječniku resursa i to je najčešći način identificiranja.


70. Objasnite čemu služi sintaksa elementa svojstva?

Uz pomoć sintakse elementa svojstva, možete dodati podređeni element s imenom u obliku parent.propertyName.


71. Kako se mogu definirati prilagođene klase koje se koriste u XAML-u?

Prilagođene klase koriste se na dva načina

  • S kodom koji proizvodi aplikaciju Primary Windows Presentation Foundation (WPF) ili unutar koda iza
  • U zasebnom sklopu kao klasa, kao što je izvršna datoteka ili DLL koji se koristi kao biblioteka klasa

72. Što je Xaml Namespace?

Prostor imena može se definirati kao okruženje ili apstraktni spremnik koji se koristi za držanje logičkog grupiranja jedinstvenih identifikatora ili simbola.

Ova pitanja za intervju također će vam pomoći u vašem životu

Podijeli

Jedan komentar

  1. Ponovno provjerite definiciju događaja tunela i mjehurića, čini se da su izmijenjeni.
    Javi mi ako griješim.

Ostavi komentar

Vaša adresa e-pošte neće biti objavljena. Obavezna polja su označena *