Top 70 WPF-interviewvragen en antwoorden (2024)

Hier zijn WPF-interviewvragen en -antwoorden voor zowel eerstejaars als ervaren kandidaten om hun droombaan te krijgen.


1. Wat is WPF?

WPF is de nieuwste presentatie-API van Microsoft Windows. Het is een 2D- en 3D-grafische engine. De mogelijkheden omvatten: -

  • Alle gebruikelijke gebruikersbedieningen. Bijvoorbeeld selectievakjes, knoppen, schuifregelaars enz.
  • Ondersteunt documenten in flow- en fix-formaat
  • alle functionaliteit van Flash en HTML
  • Dataverbinding
  • Multimedia
  • Animatie

Gratis pdf-download: WPF-interviewvragen en antwoorden


2. Welke soorten documenten worden door WPF ondersteund?

Twee typen documenten die worden ondersteund door Windows Presentation Foundation (WPF) zijn het Flow-formaat en het document met een vaste indeling. Een stroomformaatdocument verandert de inhoud zodat deze past bij de schermgrootte, terwijl een document met een vast formaat inhoud presenteert, ongeacht de schermgrootte.


3. Geef de naamruimte een naam die nodig is om met 3D te werken.

De naamruimte die nodig is voor het werken in 3D is System.Windows.Media.Medi3D.


4. Is het juist om te zeggen dat WPF DirectX heeft vervangen?

Nee, WPF kan DirectX nooit vervangen. WPF kan niet worden gebruikt om games met verbluffende graphics te maken. WPF is bedoeld als vervanging voor Windows-formulier, niet DirectX.


5. Wat zijn afhankelijkheidseigenschappen?

Eigenschappen die tot een specifieke klasse behoren maar voor een andere klasse kunnen worden gebruikt, worden de afhankelijkheidseigenschappen genoemd.

WPF-interviewvragen
WPF-interviewvragen

6. Hoe kan de omvang van StatusBar proportioneel worden vergroot?

Door het ItemsPanel-attribuut van StatusBar te overrulen met een raster. De kolommen van het raster kunnen op de juiste manier worden geconfigureerd om het gewenste resultaat te verkrijgen.


7. Wat zijn bevriesbare objecten in WPF?

Een object waarvan de toestand is vergrendeld, zodat het onveranderlijk wordt, staat bekend als een bevriesbaar object. Dergelijke objecten presteren beter. Het is ook veiliger als ze tussen threads moeten worden gedeeld.


8. Waarom verdient WPF de voorkeur boven Adobe Flash?

WPF is een recentere technologie en beschikt dus over de nieuwste ontwikkeltools. Het ondersteunt een breder scala aan programmeertalen en heeft een robuust controle-hergebruik.


9. Waarin verschilt Silverlight van de WPF-browserapplicatie?

Een van de belangrijkste verschillen is dat het .NET-framework vereist is voor het uitvoeren van WPF-browsertoepassingen op de clientcomputer. Maar Silverlight werkt alleen met de plug-in. Een ander verschilpunt is dat toepassingen die in WPF worden gemaakt, afhankelijk zijn van de OS aangezien .NET Framework alleen op Windows draait. Aan de andere kant kan de Silverlight-plug-in ook op besturingssystemen worden geïnstalleerd die geen Windows zijn.


10. Noem de methoden die aanwezig zijn in het DependencyObject.

Het heeft drie doelstellingen, namelijk:

  • Waarde instellen
  • Wiswaarde
  • Waarde ophalen

11. Schrijf over PRISM.

PRISM is een raamwerk voor het maken van complexe applicaties voor WPF, Silverlight of Windows Phone. PRISM maakt gebruik van MVVM, IC, Command Patterns, DI en Separation of Concerns om losse koppeling te krijgen.


12. Is het mogelijk om Windows Forms te gebruiken in een WPF-applicatie?

Ja, het Windows-formulier kan worden gebruikt in WPF. Windows-formulier kan verschijnen als een WPF-pop. De besturingselementen van dit vensterformulier kunnen naast WPF-besturingselementen op een WPF-pagina worden geplaatst door gebruik te maken van de functies van het WindowsFormsHost-besturingselement dat vooraf is geïnstalleerd.

Windows Presentatie Foundation (WPF)
Windows Presentatie Foundation (WPF)

13. Beschrijf CustomControl kort.

CustomControl breidt de functies van bestaande bedieningselementen uit. Het bestaat uit een standaardstijl in Themes/Generic.xaml en een codebestand. Het is de beste manier om een ​​controlebibliotheek te maken en kan ook worden gestyled of gesjabloneerd.


14. Noem de algemene samenstellingen die in WPF worden gebruikt?

  • PresentatieStichting
  • WindowsBase
  • PresentatieKern

15. Definieer padanimaties in WPF

Padanimatie is een type animatie waarbij het geanimeerde object een pad volgt dat is ingesteld door de padgeometrie.


16. Kunnen WPF-aanvragen worden gedaan zonder XAML?

Ja, WPF-applicaties kunnen zonder XAML worden gemaakt, omdat het gebruik van XAML in WPF een kwestie van keuze is.


 17. Wat zijn de soorten vensters in WPF?

WPF heeft drie soorten vensters:

  • Normaal venster
  • Paginavenster
  • Navigeer door venster

18. Hoe kunnen elementen in een ListBox worden gesorteerd?

Sorteren kan worden gedaan door een eigenschap van het ItemsCollection-object te gebruiken. ItemsCollection bevat een attribuut, SortDescriptions, dat System.ComponentModel.SortDescription-instanties bevat. Elke SortDescription-instantie definieert hoe de elementen moeten worden gesorteerd en geeft aan of de sortering aflopend of oplopend is.

Deze code sorteert bijvoorbeeld elementen van ContentControl op basis van hun eigenschap voor het tellen van woorden:

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


19. Waarin verschilt MVVM van MVC?

MVC staat voor Model-View Controller en.MVVM staat voor Model-View ViewModel.

In MVVM wordt View Model gebruikt in plaats van een controller. Dit weergavemodel is aanwezig onder de UI-laag. Het onthult de opdrachtobjecten en gegevens die de weergave vereist. Het fungeert als een containerobject waaruit de weergave zijn acties en gegevens haalt.


20. Leg gerouteerde gebeurtenissen in WPF uit.

Een gebeurtenis die handlers kan aanroepen op meer dan één luisteraar die aanwezig is in een elementenboom, in plaats van het enkele object dat de gebeurtenis heeft aangeroepen, staat bekend als een gerouteerde gebeurtenis.


21. Hoe wordt System.Windows.Media.Visual dll gebruikt in WPF?

Het wordt gebruikt wanneer er behoefte is aan het creëren van een aangepaste gebruikersinterface. Het is een tekenobject, dat instructies geeft voor het maken van een object. Deze instructies omvatten de dekking enz. van de tekening. De Visual-klasse overbrugt ook de functionaliteiten van door WPF beheerde klassen en de MilCore.dll.


22. Wat zijn de verschillende lay-outpanelen in WPF?

Dat zijn:

  • Stapelpaneel
  • Rasterpaneel
  • Canvaspaneel
  • Dockpaneel
  • Wikkelpaneel

23. Noem de belangrijke subsystemen in WPF

De belangrijkste subsystemen zijn:

  • Windows.Controls.Control
  • Windows.DependancyObject
  • Windows.FrameworkElement
  • Windows.Media.Visuals
  • Object
  • Threading.DispatcherObject
  • Windows.UIElements

24. Wat betekent BAML in WPF?

BAML is de afkorting voor Binary Application Markup Language. Het is niets anders dan XAML dat is getokeniseerd, geparseerd en veranderd in binaire vorm. BAML is een gecomprimeerde declaratieve taal, die sneller wordt geladen en geparseerd dan XAML.


25. Wat is het verschil tussen pagina- en vensterbesturingselementen in WPF?

Het fundamentele verschil is dat Window Control de leiding heeft over de Windows-applicatie, terwijl Page Control de gehoste browserapplicaties voorzit. Ook kan Vensterbeheer Paginabeheer bevatten, maar het omgekeerde kan niet gebeuren.


26. Wat zijn gekoppelde eigenschappen in WPF?

Bijgevoegde eigenschappen zijn in feite afhankelijkheidseigenschappen waarmee een waarde aan elk willekeurig object kan worden gekoppeld.


27. Wat is de INotifyPropertyChanged-interface?

De InotifyPropertyChanged informeert klanten, meestal degenen die bindend zijn, als de waarde van een onroerend goed verandert. Het heeft een gebeurtenis, PropertyChanged genaamd, die elke keer wordt gegenereerd wanneer een eigenschap van het Model-object wordt gewijzigd.


28. Wat is het fundamentele verschil tussen gebeurtenissen en opdrachten in het MVVM-model?

Commando's zijn krachtiger en zijn voordeliger om te gebruiken in plaats van gebeurtenissen. Acties zijn nauw verbonden met de bron van de gebeurtenis en daarom kunnen de gebeurtenissen niet gemakkelijk worden hergebruikt. Maar commando's maken het mogelijk om meerdere acties efficiënt op één plek te onderhouden en ze vervolgens volgens onze vereisten opnieuw te gebruiken.


29. Wat is de methode om een ​​ToolTip, die momenteel zichtbaar is, geforceerd te sluiten?

Het kan worden gesloten door de eigenschap IsOpen van de tooltip in te stellen op false.


30. Schrijf de verschillen op tussen DynamicResource en StaticResource.

Het meest fundamentele verschil is dat StaticResource de resource slechts één keer evalueert, maar DynamicResource evalueert deze elke keer dat de resource nodig is. En om deze reden belast DyanamicResource het systeem zwaar, maar het zorgt ervoor dat pagina's of vensters sneller worden geladen


31. Leg het MVVM-patroon uit.

Het MVVM-patroon verdeelt de UI-code in 3 basisonderdelen:

  • model- Het vertegenwoordigt een reeks klassen die gegevens bevatten die zijn ontvangen uit databases.
  • Visie - Het is de code die overeenkomt met de visuele weergave van de gegevens.
  • BekijkModel – Het is de laag die View en Model met elkaar verbindt. Het presenteert deze gegevens op een manier die gemakkelijk te begrijpen is. Het bepaalt ook hoe View samenwerkt met de applicatie.

32. Waarom zijn lay-outpanelen nodig in WPF?

Er zijn lay-outpanelen nodig zodat de besturingselementen op schermen van verschillende groottes of met verschillende lettergroottes passen. Als we besturingselementen op vaste pixelcoördinaten inrichten, mislukt dit model als het naar een andere omgeving wordt verplaatst. Om deze reden zijn lay-outpanelen noodzakelijk.


33. Schrijf in het kort over UserControl.

UserControl verpakt bestaande besturingselementen in één herbruikbare groep. Het bevat een XAML-bestand en een code. UserControl kan niet worden opgemaakt of gesjabloneerd.


34. Hoe kan ik bepalen of een bevriesbaar object bevroren is?

De eigenschap “IsFrozen” van het object kan worden gebruikt om te bepalen of het bevriesbare object bevroren is.


35. Wat is de meeteenheid in WPF?

Alle metingen worden gedaan in apparaatonafhankelijke pixels, oftewel logische pixels. Eén pixel is 1/96ste deel van een inch. Deze logische pixels worden altijd als dubbel vermeld, waardoor ze ook een fractionele waarde kunnen hebben.


36. Wat is een versiering?

Ze zijn een speciaal soort FrameworkElement dat de gebruiker visuele aanwijzingen geeft. Ze worden ook gebruikt om handvatten aan elementen toe te voegen en informatie te geven over de status van een besturingselement. Adorers zijn gebonden aan het UIElement en worden weergegeven op een oppervlak dat boven het versierde element ligt. Dit oppervlak wordt een AdornerLayer genoemd. Versieringen worden meestal relatief ten opzichte van het begrensde element geplaatst.


37. Verklaar serialisatie?

Het is het proces waarbij de toestand van een object wordt omgezet in een stroom bytes.


38. Wordt MDI ondersteund in WPF?

MDI wordt niet ondersteund in WPF. UserControl kan worden gebruikt om dezelfde functionaliteit te bieden als MDI.


39. Wat is XBAP?

XBAP is de verkorte vorm van XAML Browser Application. Hiermee kunnen WPF-applicaties in webbrowsers worden uitgevoerd. Installatie van het .NET-framework op de clientcomputer is een vereiste voor het uitvoeren van WPF-applicaties. Maar gehoste applicaties krijgen geen volledige toegang tot de machine van de klant en worden uitgevoerd in een sandbox-omgeving. Met WPF kunnen dergelijke applicaties ook worden gemaakt, die rechtstreeks in de browser worden uitgevoerd. Deze toepassingen worden XBAP genoemd.


40. In welke zin zijn WPF en Silverlight vergelijkbaar?

Silverlight en WPF zijn vergelijkbaar in die zin dat ze allebei XAML gebruiken en dezelfde code, syntaxis en bibliotheken delen.


41. Hoe kan ik een ToolTip laten verschijnen terwijl ik over een uitgeschakeld element zweef?

Voor dit doel kan de eigenschap ShowOnDisabled worden gebruikt. Het behoort tot de klasse ToolTipService.


42. Hoe kan ListBox soepel laten scrollen?

ListBox is standaard geconfigureerd om per item te scrollen. Dit is afhankelijk van de hoogte van elk element en de scrollactie, waardoor het een ruw gevoel geeft. Een betere manier is om de schuifactie zo te configureren dat items een paar pixels worden verschoven, ongeacht hun hoogte. Dit wordt gedaan door de eigenschap ScrollViewer.CanContentScroll in te stellen op “false”. Hierdoor verliest de ListBox echter de virtualisatie-eigenschap.


43. Waar begint de uitvoering in een WPF-applicatie?

WPF-applicaties die in Visual Studio zijn gemaakt, worden uitgevoerd zonder een Main-methode. Dit komt omdat de applicaties een speciaal geval hebben wanneer ze vanuit XAML worden gecompileerd. Dat betekent dat Visual Studio een build-actie van ApplicationDefinition aan het XAML-bestand koppelt. Dit resulteert in het automatisch genereren van een Main-methode.


44. Kan Windows Service worden gemaakt met WPF?

Nee, Windows Services kunnen niet worden gemaakt met WPF. WPF is een presentatietaal. Windows-services hebben specifieke machtigingen nodig om bepaalde GUI-gerelateerde functies uit te voeren. Daarom geeft het fouten als het niet de vereiste machtigingen krijgt.


45. Wat zijn de verschillende soorten gerouteerde gebeurtenissen in WPF?

Er zijn drie soorten gerouteerde gebeurtenissen in WPF. Zij zijn:

  • Direct – Deze gebeurtenis kan alleen worden veroorzaakt door het element waaruit deze is voortgekomen.
  • Tunnelen – Deze gebeurtenis wordt eerst gegenereerd door het element waaruit deze voortkomt, en vervolgens door elke opeenvolgende container in de visuele boomstructuur.
  • borrelen - Deze gebeurtenis wordt eerst gegenereerd door de bovenste container in de visuele boom en wordt vervolgens verhoogd door elke opeenvolgende container die onder de bovenste container ligt, totdat deze het element bereikt waar deze vandaan kwam.

46. ​​Waarom is het beter om artikelen in ComboBoxItem te verpakken?

Het heeft enkele belangrijke eigenschappen zoals IsSelected en IsHighlighted en ook enkele noodzakelijke gebeurtenissen zoals Selected en Unselected. ComboBoxItem is een inhoudscontrole en is dus erg handig voor het toevoegen van eenvoudige strings aan een ComboBox.


47. Hoe kan ik automatiserings-ID's van artikelen in ItemsControl verkrijgen?

De beste manier om dit te doen is door de eigenschap Name in te stellen, omdat deze standaard wordt gebruikt voor automatiseringsdoeleinden. Maar als u een ID aan een element moet geven, anders dan de naam ervan, dan kan de eigenschap AutomationProperties.AutomationID naar behoefte worden ingesteld.


48. Hoe kunnen opdrachtregelargumenten worden opgehaald in een WPF-applicatie?

De meest geprefereerde methode hiervoor is om System.Environment.GetCommandLineArgs op een willekeurig punt in de toepassing aan te roepen.


49. Vermeld de naam van de klassen, die willekeurige inhoud bevatten.

Contentbeheer

HeaderedInhoudscontrole

Artikelcontrole

HeaderedItems-besturingselement


50. Welke NameSpace heeft 'Popup'- en 'Thumb'-besturingselementen?

De naamruimte system.windows.controls.primitives heeft 'Popup'- en 'Thumb'-besturingselementen.


51. Leg uit wat XAML is? Wat is het verschil tussen XML en XAML?

XAML staat voor eXtensible Application Markup Language. Het is de taal die wordt gebruikt om.NET-objecten te instantiëren. Het is de taal ontwikkeld door Microsoft om een ​​gebruikersinterface te schrijven voor toepassingen van de volgende generatie.

XML is ontworpen om gegevens op te slaan of om met de opgeslagen gegevens te werken, terwijl XAML de uitgebreide versie van XML is die wordt gebruikt voor .NET-programmering.


52. Noem het voordeel van het gebruik van XAML?

Het voordeel van het gebruik van XAML is

  • XAML-code is duidelijk te lezen en ze zijn kort
  • Scheiding van ontwerpercode en logica
  • Hulpmiddelen zoals expressiemenging die voor grafisch ontwerp worden gebruikt, vereisen XAML als bron
  • Het scheidt duidelijk de rollen van ontwerper en ontwikkelaar

53. Hoe kun je coderen om “Hello World” in XAML weer te geven?

'Hallo wereld' wordt weergegeven.

<page xmlns= '' ''>

<TextBlock>

Hello, World!

</TextBlock>

</Page>

54. Hoe worden grafische componenten in XAML gespecificeerd?

In XAML worden grafische componenten gespecificeerd met open of gesloten tags met attributen.

Bijvoorbeeld

  • Label met inhoud

Klik


  • Tag zonder inhoud

< Knop/>


55. Wat is attribuutsyntaxis in XAML?

In XAML stelt de attribuutsyntaxis een waarde in voor een eigenschap of benoemt de gebeurtenishandler voor een gebeurtenis, door een attribuut voor een element te declareren. De attribuutwaarde moet tussen twee aanhalingstekens staan ​​(“).

Bijvoorbeeld

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

XAML


56. Leg inhoudseigenschappen XAML uit?

XAML vertegenwoordigt een taalfunctie waarbij een klasse precies één van zijn eigenschappen kan toewijzen als XAML-eigenschap


57. Leg uit wat de Markup-extensie in XAML is?

Opmaakextensies zijn tijdelijke aanduidingen in XAML die worden gebruikt om eigenschappen tijdens runtime om te zetten. Met een markup-extensie kunt u XAML uitbreiden en met behulp van de attribuutsyntaxis kunt u ook elke eigenschap instellen die in XAML kan worden ingesteld. Het doel van de markup-extensie is het verwerken van een tekenreeks en het retourneren van een object. Enkele van de standaard markup-extensies zijn xNull, x: reeks, :StaticResource en DynamicResource.


58. Wat zijn de vier algemene soorten XAML-elementen?

De vier algemene soorten XAML-elementen zijn

  • Wortelelementen
  • Paneelelementen
  • Bedieningselementen
  • Geometrische elementen

59. Welk X:-voorvoegsel geeft aan in XAML?

Het voorvoegsel X: wordt gebruikt om de XAML-naamruimte in sjablonen toe te wijzen.


60. Wat zijn de verschillende X:-voorvoegsels die in de XAML-taal worden gebruikt?

  • x: Sleutel à Het stelt een unieke sleutel in voor elke bron in een bronnenwoordenboek
  • x: Classà Het specificeert de CLR-naamruimte (Common Language Runtime) en de klassenaam voor de klasse die code levert
  • x: Naam à Het specificeert een runtime-objectnaam voor de instantie die bestaat in runtime-code nadat een objectelement is verwerkt
  • x: Statisch à Het maakt een verwijzing mogelijk die een statische waarde retourneert die anders een XAML-compatibele eigenschap is
  • x: Type à Het construeert een typereferentie op basis van de typenaam

61. Hoe kunt u een eigenschapsattribuut instellen als een letterlijke tekenreeks en niet als een mark-up-extensie?

Om uitbreiding van de mark-up te voorkomen, moet u een leeg paar accolades gebruiken, zoals

Content = “{} {Dit is geen opmaakextensie}”/>


62. Wat zijn de soorten kinderen die een objectelement kan hebben in XAML?

Er kunnen drie soorten kinderen zijn die een objectelement kan hebben

  • Collectie items
  • Een waarde voor de inhoudseigenschap
  • De waarde die typegeconverteerd kan worden naar het objectelement

63. Leg uit wat Type Converter is?

De typeconverter is handig om een ​​tekenreeks naar het juiste waardetype te converteren als er geen gebruik wordt gemaakt van een opmaakextensie. Type Converter definieert vier leden voor het converteren van en naar string voor xaml-doeleinden.

  • KanConverterenNaar
  • KanConverterenVan
  • Omzetten naar
  • ConverterenVan

64. Leg de syntaxis van objectelementen in XAML uit?

Om een ​​CLR-klasse of -structuur te instantiëren door een XML-element te declareren, wordt een XAML-opmaaksyntaxis gebruikt. Deze syntaxis wordt de objectelementsyntaxis genoemd.


65. Op welke manieren kunt u objecten in XAML declareren?

Er zijn drie manieren om objecten in XAML te declareren

  • Rechtstreeks, met behulp van de syntaxis van objectelementen: deze syntaxis wordt gebruikt om hoofdobjecten of geneste objecten te declareren die eigenschapswaarden instellen
  • Indirect door gebruik te maken van de attribuutsyntaxis: Deze syntaxis gebruikt een inline tekenreekswaarde die instructies bevat over hoe een object moet worden gemaakt. Om de waarde van de eigenschap in te stellen op een nieuw gemaakte referentie, gebruikt de XAML-parser deze tekenreeks
  • Een markup-extensie gebruiken

66. Wat moet een rootelement van een XAML-document bevatten?

In een XAML-document bestaat het hoofdelement alleen uit bepaalde elementen, en deze elementen zijn Venster, een Canvas of panelen.


67. Wat is gegevensbinding met XAML?

Gegevensbinding biedt een eenvoudige manier om gegevens weer te geven en ermee te werken. Een voorbeeld laat zien hoe u gegevensbinding kunt uitvoeren in XAML. De binding in XAML wordt gedaan met behulp van de syntaxis {binding….}.


68. Leg uit hoe je verschillende gegevens kunt weergeven tijdens runtime en ontwerptijd?

  • Eén manier om gegevens tijdens runtime en ontwerptijd weer te geven, is door uw gegevens in XAML te declareren
  • Een andere manier om dit te doen is door het in XAML te declareren met behulp van verschillende gegevensattributen uit de XML-naamruimte van de ontwerper. Met het voorvoegsel ad: wordt deze naamruimte doorgaans gedeclareerd.

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


69. Leg uit wat de functie x is: sleutelrichtlijn in XAML?

X: Sleutel identificeert op unieke wijze elementen die zijn gemaakt en waarnaar wordt verwezen in een door XAML gedefinieerd woordenboek. Door een x: Key-waarde toe te voegen aan een XAML-objectelement kan een bron in het bronnenwoordenboek worden geïdentificeerd en dit is de meest gebruikelijke manier om te identificeren.


70. Leg uit wat het gebruik van de syntaxis van eigenschapselementen is?

Met behulp van de syntaxis van eigenschapselementen kunt u een onderliggend element toevoegen met een naam in de vorm van parent.propertyName.


71. Hoe kunnen aangepaste klassen die in XAML worden gebruikt, worden gedefinieerd?

Aangepaste klassen worden op twee manieren gebruikt

  • Met de code die de Primary Windows Presentation Foundation (WPF)-applicatie produceert of binnen de code erachter
  • In een afzonderlijke assembly als klasse, zoals een uitvoerbaar bestand of DLL gebruikt als klassenbibliotheek

72. Wat is Xaml-naamruimte?

Naamruimte kan worden gedefinieerd als een omgeving of een abstracte container die wordt gebruikt om een ​​logische groep unieke identificatiegegevens of symbolen te bevatten.

Deze interviewvragen zullen ook helpen bij je viva (oralen)

Delen

One Comment

  1. Controleer nogmaals de definitie van de tunnel- en bubbelgebeurtenis, deze lijkt verwisseld.
    Laat het me weten als ik het mis heb.

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *