A 70 legnépszerűbb WPF-interjú kérdés és válasz (2025)
Íme a WPF-interjúk kérdései és válaszai pályakezdőknek és tapasztalt jelölteknek, hogy megszerezzék álmaik állását.
1. Mi az a WPF?
A WPF a Microsoft Windows legújabb prezentációs API. Ez egy 2D és 3D grafikus motor. A képességei a következők: -
- Az összes általános felhasználói vezérlő. Például jelölőnégyzetek, gombok, csúszkák stb.
- Támogatja az áramlási és fix formátumú dokumentumokat
- a Flash összes funkciója és HTML
- Kötelező adatok
- multimédia
- Élénkség
Ingyenes PDF letöltés: WPF-interjú kérdések és válaszok
2. Milyen típusú dokumentumokat támogat a WPF?
A Windows Presentation Foundation (WPF) által támogatott két dokumentumtípus a Flow formátumú és a rögzített formátumú dokumentum. A Flow formátumú dokumentum a képernyő méretéhez igazítja a tartalmat, míg a rögzített formátumú dokumentum a képernyő méretétől függetlenül jelenít meg tartalmat.
3. Nevezze el a 3D-vel való munkához szükséges névteret.
A 3D-ben való munkához szükséges névtér a System.Windows.Media.Medi3D.
4. Helyes-e azt állítani, hogy a WPF felváltotta a DirectX-et?
Nem, a WPF soha nem helyettesítheti a DirectX-et. A WPF nem használható lenyűgöző grafikájú játékok létrehozására. A WPF a Windows form helyettesítésére szolgál, nem a DirectX-re.
5. Mik azok a függőségi tulajdonságok?
Azokat a tulajdonságokat, amelyek egy adott osztályhoz tartoznak, de egy másikhoz használhatók, függőségi tulajdonságoknak nevezzük.
6. Hogyan növelhető arányosan a StatusBar mérete?
A StatusBar ItemsPanel attribútumának rács felülbírálásával. A rács oszlopai megfelelően konfigurálhatók a kívánt eredmény eléréséhez.
7. Mik azok a fagyasztható objektumok a WPF-ben?
Az olyan objektumot, amelynek állapota le van zárva, így megváltoztathatatlanná válik, lefagyasztható objektumnak nevezzük. Az ilyen tárgyak jobban teljesítenek. Az is biztonságosabb, ha meg kell osztani őket a szálak között.
8. Miért kell előnyben részesíteni a WPF-et az Adobe Flash-mel szemben?
A WPF egy újabb technológia, így a legújabb fejlesztési eszközökkel rendelkezik. A programozási nyelvek szélesebb körét támogatja, és robusztus vezérlési újrafelhasználással rendelkezik.
9. Miben különbözik a Silverlight a WPF böngésző alkalmazástól?
Az egyik fő különbség az, hogy a .NET keretrendszer szükséges a WPF böngészőalkalmazások kliensgépen történő futtatásához. De a Silverlight csak a beépülő modul használatával fut. Egy másik különbség az, hogy a WPF-ben készült alkalmazások a OS mivel a .NET-keretrendszer csak Windowson fut. Másrészt a Silverlight beépülő modul azokra az operációs rendszerekre is telepíthető, amelyek nem Windows.
10. Nevezze meg a DependencyObjectben található metódusokat.
Három objektuma van, nevezetesen:
- Érték beállítása
- ClearValue
- GetValue
11. Írjon a PRISM-ről.
A PRISM egy keretrendszer összetett alkalmazások létrehozására WPF-hez, Silverlight-hoz vagy Windows Phone-hoz. A PRISM az MVVM-et, az IC-t, a parancsmintákat, a DI-t és a Separation of Concerns-t használja a laza csatolás érdekében.
12. Használható a Windows Forms WPF alkalmazásban?
Igen, a Windows űrlap használható WPF-ben. A Windows űrlap WPF előugró ablakként jelenhet meg. Az ablak űrlap vezérlői elhelyezhetők a WPF vezérlők mellett egy WPF oldalon az előre telepített WindowsFormsHost vezérlő funkcióinak felhasználásával.
13. Ismertesse röviden a CustomControl-t.
A CustomControl kibővíti a meglévő vezérlők funkcióit. A Themes/Generic.xaml alapértelmezett stílusából és egy kódfájlból áll. Ez a legjobb módja a vezérlőkönyvtár létrehozásának, és stílusos vagy sablonos is lehet.
14. Nevezze meg a WPF-ben használt általános összeállításokat?
- Bemutató Alapítvány
- WindowsBase
- PresentaionCore
15. Határozza meg az útvonal-animációkat a WPF-ben
Az útvonal-animáció egy olyan típusú animáció, amelyben az animált objektum a Path geometria által meghatározott útvonalat követi.
16. Készíthetők-e WPF alkalmazások XAML nélkül?
Igen, a WPF-alkalmazások XAML nélkül is létrehozhatók, mivel az XAML használata WPF-ben választás kérdése.
17. Milyen típusú ablakok vannak a WPF-ben?
A WPF-nek három típusú ablaka van:
- Normál ablak
- Oldal ablak
- Navigálás az ablakban
18. Hogyan rendezhetők a ListBox elemek?
A rendezés az ItemsCollection objektum tulajdonságának használatával végezhető el. Az ItemsCollection egy SortDescriptions attribútumot tartalmaz, amely System.ComponentModel.SortDescription példányokat tartalmaz. Minden SortDescription példány meghatározza az elemek rendezési módját, és jelzi, hogy a rendezés csökkenő vagy növekvő.
Ez a kód például a ContentControl elemeit szószám tulajdonságuk alapján rendezi:
myItemsControl.Items.SortDescriptions.Add(new SortDescription(“WordCount”, ListSortDirection.Descending));
19. Miben különbözik az MVVM az MVC-től?
Az MVC a Model-View Controller rövidítése, az MVVM pedig a Model-View ViewModel rövidítése.
Az MVVM-ben a Modellnézetet használják vezérlő helyett. Ez a nézetmodell a felhasználói felület réteg alatt található. Felfedi a nézet által igényelt parancsobjektumokat és adatokat. Úgy működik, mint egy konténerobjektum, amelyből a nézet műveleteit és adatait kapja.
20. Magyarázza el az irányított eseményeket a WPF-ben.
Az olyan eseményt, amely egy elemfában egynél több hallgatón kezelőket hívhat meg az eseményt meghívó egyetlen objektum helyett, Routed eseménynek nevezzük.
21. Hogyan használható a System.Windows.Media.Visual dll a WPF-ben?
Ez akkor használatos, amikor egyéni felhasználói felület létrehozásának igénye merül fel. Ez egy rajzobjektum, amely utasításokat ad egy objektum elkészítéséhez. Ezek az utasítások tartalmazzák a rajz átlátszatlanságát stb. A Visual osztály áthidalja a WPF felügyelt osztályok és a MilCore.dll funkcióit is.
22. Melyek a különböző elrendezési panelek a WPF-ben?
Ők:
- Stack Panel
- Rácspanel
- Vászon Panel
- Dokkoló panel
- Wrap Panel
23. Nevezze meg a WPF fontos alrendszereit
A főbb alrendszerek a következők:
- Windows.Controls.Control
- Windows.DependancyObject
- Windows.FrameworkElement
- Windows.Media.Visuals
- tárgy
- Threading.DispatcherObject
- Windows.UIElements
24. Mit jelent a BAML a WPF-ben?
A BAML a bináris alkalmazásjelölő nyelv rövidítése. Nem más, mint a XAML, amelyet tokenizáltak, elemeztek és bináris formává változtattak. A BAML egy tömörített deklaratív nyelv, amely gyorsabban töltődik be és értelmeződik, mint az XAML.
25. Mi a különbség a WPF oldal- és ablakvezérlői között?
Az alapvető különbség az, hogy a Windows-alkalmazások felett a Window Control, míg a hosztolt böngészőalkalmazások felett az Oldalvezérlés működik. A Window Control tartalmazhat oldalvezérlést is, de fordítva nem történhet meg.
26. Mik azok a csatolt tulajdonságok a WPF-ben?
A csatolt tulajdonságok alapvetően függőségi tulajdonságok, amelyek lehetővé teszik egy érték csatolását bármely véletlenszerű objektumhoz.
27. Mi az INotifyPropertyChanged felület?
Az InotifyPropertyChanged értesíti az ügyfeleket, általában azokat, akik kötelező érvényűek, ha egy ingatlan értéke megváltozik. Van egy PropertyChanged nevű eseménye, amely minden alkalommal megjelenik, amikor a Model objektum egy tulajdonsága megváltozik.
28. Mi az alapvető különbség az események és a parancsok között az MVVM modellben?
A parancsok erősebbek, és előnyösebbek az események helyett. A cselekvések szorosan kapcsolódnak az esemény forrásához, ezért az eseményeket nem lehet könnyen újra felhasználni. De a parancsok lehetővé teszik, hogy több műveletet hatékonyan karbantartsunk egy helyen, majd újra felhasználjuk őket követelményeink szerint.
29. Milyen módszerrel lehet bezárni a jelenleg látható Tooltip-et?
Bezárható az eszköztipp IsOpen tulajdonságának false értékre állításával.
30. Írja le a DynamicResource és a StaticResource közötti különbségeket!
A legalapvetőbb különbség az, hogy a StaticResource csak egyszer értékeli ki az erőforrást, de a DynamicResource minden alkalommal, amikor szükség van rá. Emiatt a DyanamicResource megterheli a rendszert, de gyorsabbá teszi az oldalak vagy ablakok betöltését
31. Magyarázza el az MVVM mintát.
Az MVVM minta három alapvető részre osztja az UI kódot:
- Modell – Osztályok halmazát képviseli, amelyek adatbázisokból vett adatokat tartalmaznak.
- Kilátás - Ez az a kód, amely megegyezik az adatok vizuális megjelenítésével.
- ViewModel – Ez az a réteg, amely összeköti a nézetet és a modellt. Ezeket az adatokat könnyen érthető módon jeleníti meg. Azt is szabályozza, hogy a View hogyan kommunikál az alkalmazással.
32. Miért van szükség elrendezési panelekre a WPF-ben?
Az elrendezési panelekre azért van szükség, hogy a vezérlőelemek különböző méretű vagy eltérő betűmérettel rendelkező képernyőkre illeszkedjenek. Ha rögzített pixelkoordinátákon rendezzük el a vezérlőket, akkor ez a modell meghibásodik, ha egy másik környezetbe kerül. Emiatt az Elrendezés panelekre van szükség.
33. Írjon röviden a UserControlról.
A UserControl a meglévő vezérlőket egyetlen újrafelhasználható csoportba tömöríti. Tartalmaz egy XAML fájlt és egy kódot. A UserControl nem alakítható vagy sablonozható.
34. Hogyan állapítható meg, hogy egy lefagyasztható objektum lefagyott-e?
Az objektum „IsFrozen” tulajdonsága használható annak meghatározására, hogy a lefagyasztható objektum fagyott-e.
35. Mi a mértékegység a WPF-ben?
Minden mérés eszközfüggetlen képpontokban vagy logikai pixelekben történik. Egy pixel a hüvelyk 1/96 része. Ezeket a logikai pixeleket mindig duplaként említik, ez lehetővé teszi, hogy törtértékük is legyen.
36. Mi az a díszes?
Ezek a FrameworkElement egy speciális fajtája, amelyek vizuális támpontokat adnak a felhasználó számára. Arra is használatosak, hogy fogantyúkat adjon az elemekhez, és információt adjon a vezérlők állapotáról. A díszítők az UIE-elemhez vannak kötve, és egy olyan felületen jelennek meg, amely a díszített elem felett helyezkedik el. Ezt a felületet AdornerLayernek nevezik. A díszítők többnyire a határolt elemhez viszonyítva kerülnek elhelyezésre.
37. Magyarázza el a sorozatosítást?
Ez egy objektum állapotának bájtfolyammá alakításának folyamata.
38. Támogatja az MDI a WPF-ben?
Az MDI nem támogatott a WPF-ben. A UserControl ugyanazt a funkcionalitást biztosítja, mint az MDI.
39. Mi az XBAP?
Az XBAP az XAML böngészőalkalmazás rövidített formája. Lehetővé teszi a WPF alkalmazások webböngészőkön belüli futtatását. A .NET-keretrendszer telepítése az ügyfélgépen a WPF-alkalmazások futtatásának előfeltétele. A hosztolt alkalmazások azonban nem kapnak teljes hozzáférést az ügyfél gépéhez, és homokozó környezetben futnak. A WPF segítségével olyan alkalmazások is készíthetők, amelyek közvetlenül a böngészőben futnak. Ezeket az alkalmazásokat XBAP-nek hívják.
40. Milyen értelemben hasonlít a WPF és a Silverlight?
A Silverlight és a WPF hasonló abban az értelemben, hogy mindkettő XAML-t használ, és ugyanazon a kódon, szintaxison és könyvtárakon osztoznak.
41. Hogyan jeleníthető meg egy eszköztipp, miközben az egérmutatót egy letiltott elem fölé viszi?
Erre a célra a ShowOnDisabled tulajdonság használható. A ToolTipService osztályba tartozik.
42. Hogyan lehet a ListBoxot gördülékenyen görgetni?
A ListBox alapértelmezés szerint úgy van beállítva, hogy tételenként görgessen. Ez az egyes elemek magasságától és a görgetési művelettől függ, így durva érzést kelt. Jobb módszer, ha úgy konfigurálja a görgetést, hogy az elemeket magasságuktól függetlenül néhány képponttal eltolja. Ehhez a ScrollViewer.CanContentScroll tulajdonságot „false” értékre állítja. Ezzel azonban a ListBox elveszti a virtualizációs tulajdonságot.
43. Hol kezdődik a végrehajtás egy WPF alkalmazásban?
A Visual Studioban létrehozott WPF-alkalmazások Main metódus nélkül futnak. Ennek az az oka, hogy az alkalmazások speciális esetek, amikor XAML-ből fordítják őket. Ez azt jelenti, hogy a Visual Studio az ApplicationDefinition felépítési műveletét csatolja az XAML-fájlhoz. Ez egy Main metódus automatikus generálását eredményezi.
44. Létrehozható a Windows szolgáltatás WPF használatával?
Nem, a Windows Services nem hozható létre WPF használatával. A WPF egy prezentációs nyelv. A Windows szolgáltatásoknak meghatározott engedélyekre van szükségük bizonyos grafikus felhasználói felülettel kapcsolatos funkciók végrehajtásához. Ezért, ha nem kapja meg a szükséges engedélyeket, hibákat ad.
45. Melyek az irányított események különböző fajtái a WPF-ben?
A WPF-ben háromféle útirányított esemény létezik. Ők:
- Közvetlen - Ezt az eseményt csak az az elem tudja előidézni, amelyben keletkezett.
- Alagútépítés – Ezt az eseményt először az az elem hozza létre, amelyben keletkezett, majd a vizuális fa minden egymást követő tárolója emeli fel.
- Bugyborékolás – Ezt az eseményt először a vizuális fa legfelső tárolója emeli ki, majd minden egymást követő, a legfelső alatti konténer emeli, amíg el nem éri azt az elemet, ahonnan származott.
46. Miért jobb az elemeket ComboBoxItembe csomagolni?
Van néhány fontos tulajdonsága, mint például az IsSelected és IsHighlighted, valamint néhány szükséges esemény, mint például a Selected és Unselected. A ComboBoxItem egy tartalomvezérlő, ezért nagyon hasznos egyszerű karakterláncok hozzáadásához a ComboBoxhoz.
47. Hogyan szerezhető be az ItemsControl elemeinek automatizálási azonosítója?
Ennek legjobb módja a Név tulajdonság beállítása, mivel alapértelmezés szerint automatizálási célokra használják. De ha egy elemnek a nevétől eltérő azonosítót kell megadnia, akkor az AutomationProperties.AutomationID tulajdonság igény szerint beállítható.
48. Hogyan lehet parancssori argumentumokat lekérni egy WPF alkalmazásban?
Ennek legelőnyösebb módja a System.Environment.GetCommandLineArgs meghívása az alkalmazás bármely véletlenszerű pontján.
49. Adja meg azoknak az osztályoknak a nevét, amelyek tetszőleges tartalmat tartalmaznak!
Tartalomvezérlés
HeaderedContent Control
Elemek vezérlése
HeaderedItems Control
50. Melyik névtérben található „Popup” és „Thumb” vezérlők?
A system.windows.controls.primitives névtér 'Popup' és 'Thumb' vezérlőkkel rendelkezik.
51. Magyarázza el, mi az a XAML? Mi a különbség XML és XAML?
A XAML az eXtensible Application Markup Language rövidítése. Ez a nyelv a.NET objektumok példányosításához. Ez a nyelv által kifejlesztett microsoft felhasználói felület írásához a következő generációs alkalmazásokhoz.
Az XML-t adatok tárolására vagy a tárolt adatokkal való együttműködésre tervezték, míg az XAML az XML kiterjesztett változata, amelyet a.NET programozáshoz használnak.
52. Említse meg az XAML használatának előnyeit?
Az XAML használatának az az előnye
- A XAML kód jól olvasható, és rövidek
- A tervezői kód és a logika szétválasztása
- A grafikus tervezéshez használt eszközök, mint például az expressziós keverék, XAML-t igényelnek forrásként
- Világosan elválasztja a tervező és a fejlesztő szerepét
53. Hogyan lehet kóddal megjeleníteni a „Hello World” szöveget XAML-ben?
Megjelenik a „Hello World” felirat.
<page xmlns= '' ''> <TextBlock> Hello, World! </TextBlock> </Page>
54. XAML-ben hogyan vannak megadva a grafikus komponensek?
Az XAML-ben a grafikus komponenseket attribútumokkal rendelkező nyitott vagy zárt címkék határozzák meg.
Például,
- Címke a tartalommal
Kattints
- Címke tartalom nélkül
< Gomb/>
55. Mi az attribútum szintaxis az XAML-ben?
Az XAML-ben az attribútum szintaxisa beállít egy tulajdonság értéket, vagy elnevezi az esemény eseménykezelőjét egy attribútum deklarálásával egy elemen. Az attribútum értékét két idézőjelbe (“) kell tenni.
Például,
< Button Background = “Black” Foreground “Red” Content = “This is an operating button”/>
56. Magyarázza el az XAML tartalom tulajdonságait?
Az XAML egy olyan nyelvi jellemzőt képvisel, amellyel egy osztály pontosan egy tulajdonságát oszthatja ki XAML tulajdonságként
57. Magyarázza el, mi az a Markup kiterjesztés az XAML-ben?
A jelölőbővítmények helyőrzők az XAML-ben, amelyek a tulajdonság feloldására szolgálnak futás közben. A jelölőbővítmény lehetővé teszi az XAML kiterjesztését, az attribútum szintaxis használatával pedig bármilyen tulajdonságot beállíthat, amely beállítható az XAML-ben. A jelölőbővítmény célja egy karakterlánc feldolgozása és egy objektum visszaadása. Néhány szabványos jelölőbővítmény xNull, x: Sor, :StaticResource és DynamicResource.
58. Mi az XAML elem négy általános típusa?
Az XAML-elemek négy általános fajtája
- Gyökérelemek
- Panel elemek
- Vezérlő elemek
- Geometriai elemek
59. Mit jelöl az X: előtag az XAML-ben?
Az X: előtag a XAML névtér leképezésére szolgál a sablonokban.
60. Mik az XAML nyelvben használt különféle X: előtagok?
- x: Kulcs à A Resource Dictionary minden egyes erőforrásához egyedi kulcsot állít be
- x: Classà Megadja a CLR (Common Language Runtime) névterét és a kódot szolgáltató osztály osztálynevét.
- x: Név à Megadja a példány futásidejű objektumnevét, amely a futásidejű kódban létezik egy objektumelem feldolgozása után
- x: Statikus à Engedélyez egy hivatkozást, amely statikus értéket ad vissza, amely egyébként XAML-kompatibilis tulajdonság
- x: Típus à Típushivatkozást hoz létre a típusnév alapján
61. Hogyan állíthat be egy tulajdonság attribútumot literális karakterláncként, nem pedig jelölési kiterjesztésként?
A jelölés kiterjesztésének elkerülése érdekében üres pár göndör zárójelet kell használnia, mint pl
Content = "{} {Ez nem jelölőbővítmény}"/>
62. Milyen típusú gyermekei lehetnek az objektum elemnek az XAML-ben?
Egy objektumelemnek háromféle gyermeke lehet
- Gyűjteményi elemek
- A tartalom tulajdonság értéke
- Az az érték, amely típus szerint konvertálható az objektum elemmé
63. Magyarázza el, mi az a Type Converter?
A típusátalakító segít egy karakterlánc megfelelő értéktípussá alakításában, ha nincs jelölőkiterjesztés. A Type Converter négy tagot határoz meg az xaml-célú karakterláncra és karakterláncból történő konvertáláshoz.
- CanConvertTo
- CanConvertFrom
- ConvertTo
- ConvertFrom
64. Magyarázza el az objektumelemek szintaxisát az XAML-ben?
Egy CLR osztály vagy struktúra példányosításához XML elem deklarálásával XAML jelölési szintaxist használnak. Ezt a szintaxist objektumelem szintaxisnak nevezik.
65. Milyen módokon deklarálhat objektumokat XAML-ben?
Az objektumok XAML-ben való deklarálása háromféleképpen lehetséges
- Közvetlenül, objektumelem szintaxis használatával: Ez a szintaxis gyökérobjektumok vagy beágyazott objektumok deklarálására szolgál, amelyek tulajdonságértékeket állítanak be
- Közvetetten attribútum szintaxis használatával: Ez a szintaxis egy soron belüli karakterlánc értéket használ, amely utasítást tartalmaz egy objektum létrehozására. A tulajdonság értékének újonnan létrehozott hivatkozásra való beállításához az XAML elemző ezt a karakterláncot használja
- Jelölőbővítmény használata
66. Mit kell tartalmaznia egy XAML dokumentum gyökérelemének?
Az XAML dokumentumban a gyökérelem csak bizonyos elemekből áll, ezek az elemek ablak, vászon vagy panelek.
67. Mi az adatkötés XAML-lel?
Az adatkötés egyszerű módot biztosít az adatok megjelenítésére és interakciójára. Egy példa bemutatja, hogyan végezhet adatkötést XAML-ben. Az XAML-ben az összerendelés a {binding….} szintaxis használatával történik.
68. Magyarázza el, hogyan jeleníthet meg különböző adatokat futási és tervezési időben?
- Az adatok futási és tervezési idejének megjelenítésének egyik módja az adatok XAML-ben való deklarálása
- Ennek másik módja az, hogy XAML-ben deklarálja a tervező XML névtér különböző adatattribútumainak használatával. Az ad: előtaggal ez a névtér általában deklarált.
xmlns: d= http://schemas.microsoft.com/expression/blend/2008
69. Magyarázza el, mi az x függvény: Key direktíva az XAML-ben?
X: A kulcs egyedileg azonosítja az XAML definiált szótárban létrehozott és hivatkozott elemeket. Egy x: Key érték hozzáadásával egy XAML objektumelemhez egy erőforrás azonosítható az erőforrásszótárban, és ez a leggyakoribb módja az azonosításnak.
70. Magyarázza el, mire használható a tulajdonságelem szintaxis?
A tulajdonságelemek szintaxisának segítségével a szülő.propertyName formájú névvel ellátott gyermekelemeket adhatjuk hozzá.
71. Hogyan definiálhatók az XAML-ben használt egyéni osztályok?
Az egyéni osztályokat kétféleképpen használják
- A Primary Windows Presentation Foundation (WPF) alkalmazást létrehozó kóddal vagy a mögöttes kódon belül
- Külön összeállításban osztályként, például végrehajtható fájlban vagy osztálykönyvtárként használt DLL-ben
72. Mi az a Xaml névtér?
A névtér meghatározható környezetként vagy absztrakt tárolóként, amely egyedi azonosítók vagy szimbólumok logikai csoportosítására szolgál.
Ezek az interjúkérdések a viva-ban is segítenek.
Ellenőrizd újra az alagút és a buborék eseménydefinícióját, úgy tűnik, hogy felcserélődött.
Szólj, ha tévedek.