Top 70 des questions et réponses d'entretien WPF (2025)

Voici les questions et réponses d'entretien WPF pour les candidats débutants et expérimentés pour obtenir l'emploi de leurs rêves.


1. Qu'est-ce que WPF ?

WPF est la dernière API de présentation de Microsoft Windows. C'est un moteur graphique 2D et 3D. Ses capacités incluent : -

  • Tous les contrôles utilisateur courants. Par exemple, des cases à cocher, des boutons, des curseurs, etc.
  • Prend en charge les documents au format flux et fixe
  • toutes les fonctionnalités de Flash et HTML
  • Liaison de données
  • Multimédia
  • Animation

Téléchargement PDF gratuit : Questions et réponses d'entretien WPF


2. Quels sont les types de documents pris en charge par WPF ?

Deux types de documents pris en charge par Windows Présentation Foundation (WPF) sont le format Flow et le document au format fixe. Le document au format Flow modifie le contenu pour l'adapter à la taille de l'écran, tandis que le document au format fixe présente le contenu quelle que soit la taille de l'écran.


3. Nommez l'espace de noms requis pour travailler avec la 3D.

L'espace de noms requis pour travailler en 3D est System.Windows.Media.Medi3D.


4. Est-il exact de dire que WPF a remplacé DirectX ?

Non, WPF ne pourra jamais remplacer DirectX. WPF ne peut pas être utilisé pour créer des jeux avec des graphismes époustouflants. WPF est censé remplacer le formulaire Windows, pas DirectX.


5. Que sont les propriétés de dépendance ?

Les propriétés qui appartiennent à une classe spécifique mais peuvent être utilisées pour une autre sont appelées propriétés de dépendance.

Questions d'entretiens chez WPF
Questions d'entretiens chez WPF

6. Comment la taille de StatusBar peut-elle être augmentée proportionnellement ?

En remplaçant l'attribut ItemsPanel de StatusBar par une grille. Les colonnes de la grille peuvent être configurées de manière appropriée pour obtenir le résultat souhaité.


7. Que sont les objets Freezable dans WPF ?

Un objet dont l'état est verrouillé, de sorte qu'il devient immuable, est appelé objet gelable. De tels objets fonctionnent mieux. Il est également plus sûr s’ils doivent être partagés entre les threads.


8. Pourquoi WPF devrait-il être préféré à Adobe Flash ?

WPF est une technologie plus récente et dispose donc des derniers outils de développement. Il prend en charge une gamme plus large de langages de programmation et dispose d'une réutilisation de contrôle robuste.


9. En quoi Silverlight est-il différent de l'application de navigateur WPF ?

L'une des différences majeures est que le framework .NET est requis pour exécuter les applications du navigateur WPF sur la machine client. Mais Silverlight fonctionne en utilisant uniquement le plug-in. Un autre point de différence est que les applications réalisées dans WPF dépendent du OS car .NET Framework ne fonctionne que sous Windows. D'un autre côté, le plug-in Silverlight peut également être installé sur ces systèmes d'exploitation, qui ne sont pas Windows.


10. Nommez les méthodes présentes dans le DependencyObject.

Il a trois objets, à savoir :

  • SetValue
  • EffacerValeur
  • Getvalue

11. Écrivez sur PRISM.

PRISM est un framework permettant de créer des applications complexes pour WPF, Silverlight ou Windows Phone. PRISM utilise MVVM, IC, les modèles de commande, DI et la séparation des préoccupations pour obtenir un couplage lâche.


12. Est-il possible d'utiliser Windows Forms dans une application WPF ?

Oui, le formulaire Windows peut être utilisé dans WPF. Le formulaire Windows peut apparaître comme une pop WPF. Les contrôles de ce formulaire Window peuvent être placés à côté des contrôles WPF dans une page WPF en utilisant les fonctions du contrôle WindowsFormsHost préinstallé.

Fondation de présentation Windows (WPF)
Fondation de présentation Windows (WPF)

13. Décrivez brièvement CustomControl.

CustomControl élargit les fonctions des contrôles existants. Il se compose d'un style par défaut dans Themes/Generic.xaml et d'un fichier de code. C'est le meilleur moyen de créer une bibliothèque de contrôles et peut également être stylisée ou modélisée.


14. Nommez les assemblys courants utilisés dans WPF ?

  • PrésentationFondation
  • WindowsBase
  • PrésentationCore

15. Définir des animations de chemin dans WPF

L'animation de chemin est un type d'animation dans lequel l'objet animé suit un chemin défini par la géométrie du chemin.


16. Les applications WPF peuvent-elles être créées sans XAML ?

Oui, les applications WPF peuvent être créées sans XAML, car l'utilisation de XAML dans WPF est une question de choix.


 17. Quels sont les types de fenêtres dans WPF ?

WPF dispose de trois types de fenêtres :

  • Fenêtre normale
  • Fenêtre de page
  • Naviguer dans la fenêtre

18. Comment trier les éléments d'une ListBox ?

Le tri peut être effectué à l'aide d'une propriété de l'objet ItemsCollection. ItemsCollection contient un attribut, SortDescriptions, qui contient les instances System.ComponentModel.SortDescription. Chaque instance de SortDescription définit comment les éléments doivent être triés et indique si le tri est décroissant ou ascendant.

Par exemple, ce code trie les éléments de ContentControl en fonction de leur propriété de nombre de mots :

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


19. En quoi MVVM est-il différent de MVC ?

MVC signifie Model-View Controller et.MVVM signifie Model-View ViewModel.

Dans MVVM, View Model est utilisé à la place d'un contrôleur. Ce modèle de vue est présent sous la couche d'interface utilisateur. Il révèle les objets de commande et les données requis par la vue. Il agit comme un objet conteneur à partir duquel la vue obtient ses actions et ses données.


20. Expliquez les événements routés dans WPF.

Un événement, qui peut invoquer des gestionnaires sur plusieurs écouteurs présents dans une arborescence d'éléments, au lieu de l'objet unique qui a appelé l'événement, est appelé événement Routed.


21. Comment la dll System.Windows.Media.Visual est-elle utilisée dans WPF ?

Il est utilisé chaque fois qu'il est nécessaire de créer une interface utilisateur personnalisée. C'est un objet de dessin, qui donne des instructions pour fabriquer un objet. Ces instructions incluent l'opacité, etc. du dessin. La classe Visual relie également les fonctionnalités des classes gérées par WPF et MilCore.dll.


22. Quels sont les différents panneaux de disposition dans WPF ?

Ils sont les suivants:

  • Panneau de pile
  • Panneau de grille
  • Panneau de toile
  • Panneau de la station d'accueil
  • Panneau d'enveloppement

23. Nommez les sous-systèmes importants dans WPF

Les principaux sous-systèmes sont :

  • Windows.Contrôles.Contrôle
  • Windows.DependancyObject
  • Windows.FrameworkElement
  • Windows.Media.Visuels
  • Exlcusion
  • Threading.DispatcherObjectThreading.DispatcherObject
  • Windows.UIElements

24. Que signifie BAML dans WPF ?

BAML est l'abréviation de Binary Application Markup Language. Ce n'est rien d'autre que du XAML qui a été tokenisé, analysé et transformé sous forme binaire. BAML est un langage déclaratif compressé, qui est chargé et analysé plus rapidement que XAML.


25. Quelle est la différence entre les contrôles de page et de fenêtre dans WPF ?

La différence fondamentale est que le contrôle de fenêtre préside l'application Windows tandis que le contrôle de page préside les applications de navigateur hébergées. De plus, le contrôle Window peut contenir un contrôle de page, mais l'inverse ne peut pas se produire.


26. Que sont les propriétés attachées dans WPF ?

Les propriétés attachées sont essentiellement des propriétés de dépendance qui permettent d'attacher une valeur à n'importe quel objet aléatoire.


27. Qu'est-ce que l'interface INotifyPropertyChanged ?

InotifyPropertyChanged informe les clients, généralement ceux qui effectuent la liaison, si la valeur d'une propriété est modifiée. Il a un événement, appelé PropertyChanged, qui est déclenché chaque fois qu'une propriété de l'objet Model est modifiée.


28. Quelle est la différence fondamentale entre les événements et les commandes dans le modèle MVVM ?

Les commandes sont plus puissantes et il est plus avantageux de les utiliser à la place des événements. Les actions sont profondément liées à la source de l'événement et, par conséquent, les événements ne peuvent pas être facilement réutilisés. Mais les commandes permettent de maintenir efficacement plusieurs actions en un seul endroit, puis de les réutiliser selon nos besoins.


29. Quelle est la méthode pour forcer la fermeture d’une info-bulle actuellement visible ?

Il peut être fermé en définissant la propriété IsOpen de l'info-bulle sur false.


30. Écrivez les différences entre DynamicResource et StaticResource.

La différence la plus fondamentale est que StaticResource évalue la ressource une seule fois, mais DynamicResource l'évalue chaque fois que la ressource est requise. Et pour cette raison, DyanamicResource est lourd sur le système mais il accélère le chargement des pages ou des fenêtres.


31. Expliquez le modèle MVVM.

Le modèle MVVM divise le code de l'interface utilisateur en 3 parties de base :

  • Modèle - Il représente un ensemble de classes contenant des données reçues des bases de données.
  • Vue - C'est le code qui correspond à la représentation visuelle des données.
  • Modèle de vue – C'est le calque qui lie la vue et le modèle. Il présente ces données d’une manière facile à comprendre. Il contrôle également la manière dont View interagit avec l'application.

32. Pourquoi les panneaux de mise en page sont-ils nécessaires dans WPF ?

Des panneaux de mise en page sont nécessaires pour que les contrôles s'adaptent à des écrans de différentes tailles ou ayant des tailles de police différentes. Si nous organisons les contrôles sur des coordonnées de pixels fixes, ce modèle échouera lorsqu'il sera déplacé vers un environnement différent. Pour cette raison, des panneaux de mise en page sont nécessaires.


33. Écrivez brièvement sur UserControl.

UserControl regroupe les contrôles existants dans un seul groupe réutilisable. Il contient un fichier XAML et un code. UserControl ne peut pas être stylisé ou modélisé.


34. Quelle est la manière de déterminer si un objet Freezable est gelé ?

La propriété « IsFrozen » de l'objet peut être utilisée pour déterminer si l'objet congelable est gelé.


35. Quelle est l’unité de mesure dans WPF ?

Toutes les mesures sont effectuées en pixels indépendants de l'appareil, ou pixels logiques. Un pixel équivaut à 1/96ème partie de pouce. Ces pixels logiques sont toujours mentionnés comme doubles, cela leur permet d'avoir également une valeur fractionnaire.


36. Qu'est-ce qu'un pareur ?

Il s'agit d'un type spécial de FrameworkElement qui fournit des indices visuels à l'utilisateur. Ils sont également utilisés pour ajouter des handles aux éléments et donner des informations sur l’état d’un contrôle. Les ornements sont liés au UIElement et sont rendus sur une surface située au-dessus de l'élément qui est orné. Cette surface est appelée AdornerLayer. Les ornements sont pour la plupart placés relativement à l'élément délimité.


37. Expliquez la sérialisation ?

C'est le processus de conversion de l'état d'un objet en flux d'octets.


38. MDI est-il pris en charge dans WPF ?

MDI n'est pas pris en charge dans WPF. UserControl peut être utilisé pour offrir les mêmes fonctionnalités que MDI.


39. Qu'est-ce que XBAP ?

XBAP est la forme abrégée d'application de navigateur XAML. Il permet aux applications WPF de s'exécuter dans les navigateurs Web. L'installation du framework .NET sur la machine client est une condition préalable à l'exécution des applications WPF. Mais les applications hébergées ne bénéficient pas d'un accès complet à la machine du client et sont exécutées dans un environnement sandbox. À l'aide de WPF, de telles applications peuvent également être créées, qui s'exécutent directement dans le navigateur. Ces applications sont appelées XBAP.


40. Dans quel sens WPF et Silverlight sont-ils similaires ?

Silverlight et WPF sont similaires dans le sens où ils utilisent tous deux XAML et partagent le même code, la même syntaxe et les mêmes bibliothèques.


41. Comment faire apparaître une ToolTip au survol d'un élément désactivé ?

A cet effet, la propriété ShowOnDisabled peut être utilisée. Il appartient à la classe ToolTipService.


42. Comment faire en sorte que ListBox défile facilement ?

ListBox est configuré pour défiler élément par élément par défaut. Cela dépend de la hauteur de chaque élément et de l'action de défilement, donnant ainsi une impression approximative. La meilleure solution consiste à configurer l'action de défilement afin qu'elle décale les éléments de quelques pixels, quelle que soit leur hauteur. Cela se fait en définissant la propriété ScrollViewer.CanContentScroll sur « false ». Cependant, cela fera perdre à ListBox la propriété de virtualisation.


43. Où commence l'exécution dans une application WPF ?

Les applications WPF créées dans Visual Studio s'exécutent sans méthode Main. En effet, les applications sont dans un cas particulier lorsqu'elles sont compilées à partir de XAML. Cela signifie que Visual Studio attache une action Build de ApplicationDefinition au fichier XAML. Cela entraîne la génération automatique d’une méthode Main.


44. Le service Windows peut-il être créé à l'aide de WPF ?

Non, les services Windows ne peuvent pas être créés à l'aide de WPF. WPF est un langage de présentation. Les services Windows nécessitent des autorisations spécifiques pour exécuter certaines fonctions liées à l'interface graphique. Par conséquent, s’il n’obtient pas les autorisations requises, il génère des erreurs.


45. Quels sont les différents types d’événements routés dans WPF ?

Il existe trois types d’événements routés dans WPF. Ils sont:

  • Direct - Cet événement ne peut être déclenché que par l'élément dont il est originaire.
  • Tunneling – Cet événement est d'abord déclenché par l'élément dans lequel il a été généré, puis par chaque conteneur consécutif dans l'arborescence visuelle.
  • Bouillonnant – Cet événement est d'abord déclenché par le conteneur le plus haut dans l'arborescence visuelle, puis est déclenché par chaque conteneur consécutif situé en dessous du conteneur le plus haut, jusqu'à ce qu'il atteigne l'élément d'où il est originaire.

46. ​​Pourquoi est-il préférable d'emballer les éléments dans ComboBoxItem ?

Il possède des propriétés importantes comme IsSelected et IsHighlighted ainsi que des événements nécessaires comme Selected et Unselected. ComboBoxItem est un contrôle de contenu et est donc très utile pour ajouter des chaînes simples à une ComboBox.


47. Comment obtenir les identifiants d'automatisation des éléments dans un ItemsControl ?

La meilleure façon de procéder est de définir la propriété Name car elle est utilisée par défaut à des fins d'automatisation. Mais si vous devez donner un identifiant à un élément, autre que son nom, la propriété AutomationProperties.AutomationID peut être définie selon les besoins.


48. Comment récupérer les arguments de ligne de commande dans une application WPF ?

La méthode la plus préférée pour cela consiste à appeler System.Environment.GetCommandLineArgs à n’importe quel moment aléatoire de l’application.


49. Indiquez le nom des classes qui contiennent du contenu arbitraire.

Contrôle du contenu

Contrôle du contenu en-tête

Contrôle des articles

Contrôle des éléments en-tête


50. Quel NameSpace possède des contrôles « Popup » et « Thumb » ?

L'espace de noms system.windows.controls.primitives possède des contrôles « Popup » et « Thumb ».


51. Expliquez qu'est-ce que XAML ? Quelle est la différence entre XML et XAML ?

XAML signifie eXtensible Application Markup Language. C'est le langage utilisé pour instancier les objets.NET. C'est le langage développé par Microsoft pour écrire une interface utilisateur pour les applications de nouvelle génération.

XML est conçu pour stocker des données ou pour travailler avec les données stockées, tandis que XAML est la version étendue de XML utilisée pour la programmation .NET.


52. Mentionner l'avantage d'utiliser XAML ?

L'avantage d'utiliser XAML est

  • Le code XAML est clair à lire et il est court
  • Séparation du code du concepteur et de la logique
  • Les outils tels que le mélange d'expressions utilisés pour la conception graphique nécessitent XAML comme source
  • Il sépare clairement les rôles de concepteur et de développeur

53. Comment coder pour afficher « Hello World » en XAML ?

Affichage de « Hello World ».

<page xmlns= '' ''>

<TextBlock>

Hello, World!

</TextBlock>

</Page>

54. En XAML, comment les composants graphiques sont-ils spécifiés ?

En XAML, les composants graphiques sont spécifiés par des balises ouvertes ou fermées avec des attributs.

Par exemple,

  • Balise avec contenu

Cliquez sur


  • Balise sans contenu

< Bouton/>


55. Qu'est-ce que la syntaxe des attributs en XAML ?

En XAML, la syntaxe d'attribut définit une valeur pour une propriété ou nomme le gestionnaire d'événement pour un événement, en déclarant un attribut sur un élément. La valeur de l'attribut doit être placée entre deux guillemets (").

Par exemple,

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

XAML


56. Expliquer les propriétés du contenu XAML ?

XAML représente une fonctionnalité de langage grâce à laquelle une classe peut attribuer exactement une de ses propriétés en tant que propriété XAML.


57. Expliquez ce qu'est l'extension de balisage en XAML ?

Les extensions de balisage sont des espaces réservés en XAML qui sont utilisés pour résoudre la propriété au moment de l'exécution. Une extension de balisage vous permet d'étendre XAML et, en utilisant la syntaxe d'attribut, vous pouvez également définir n'importe quelle propriété pouvant être définie en XAML. Le but de l'extension de balisage est de traiter une chaîne et de renvoyer un objet. Certaines des extensions de balisage standard sont xNull, x : tableau, :StaticResource et DynamicResource.


58. Quels sont les quatre types généraux d’éléments XAML ?

Les quatre types généraux d'éléments XAML sont

  • Éléments racine
  • Éléments du panneau
  • Éléments de contrôle
  • Éléments géométriques

59. Qu'est-ce que le préfixe X: indique en XAML ?

Le préfixe X: est utilisé pour mapper l'espace de noms XAML dans les modèles.


60. Quels sont les différents préfixes X: utilisés dans le langage XAML ?

  • x : Clé à Il définit une clé unique pour chaque ressource dans un dictionnaire de ressources
  • x : Classà Il spécifie l'espace de noms CLR (Common Language Runtime) et le nom de la classe qui fournit le code.
  • x : Nom à Il spécifie un nom d'objet d'exécution pour l'instance qui existe dans le code d'exécution après le traitement d'un élément d'objet.
  • x : Statique à Il active une référence qui renvoie une valeur statique qui autrement serait une propriété compatible XAML
  • x : Type à Il construit une référence de type basée sur le nom du type

61. Comment pouvez-vous définir un attribut de propriété comme une chaîne littérale et non comme une extension de balisage ?

Pour éviter l'extension de balisage, vous devez utiliser une paire d'accolades vides comme

Content = "{} {Ceci n'est pas une extension de balisage}"/>


62. Quels sont les types d’enfants que l’élément objet peut avoir en XAML ?

Trois types d'enfants qu'un élément objet peut avoir

  • Articles de collection
  • Une valeur pour la propriété content
  • La valeur qui peut être convertie en élément objet

63. Expliquez ce qu'est Type Converter ?

Le convertisseur de type est utile pour convertir une chaîne en type de valeur approprié lorsqu'il n'y a aucune utilisation d'extension de balisage. Type Converter définit quatre membres pour la conversion vers et depuis une chaîne à des fins XML.

  • PeutConvertir
  • PeutConvertDe
  • Convertir en
  • ConvertirDe

64. Expliquer la syntaxe des éléments d'objet en XAML ?

Pour instancier une classe ou une structure CLR en déclarant un élément XML, une syntaxe de balisage XAML est utilisée. Cette syntaxe est appelée syntaxe des éléments d'objet.


65. De quelles manières pouvez-vous déclarer des objets en XAML ?

Pour déclarer des objets en XAML, il existe trois manières

  • Directement, en utilisant la syntaxe des éléments d'objet : cette syntaxe est utilisée pour déclarer des objets racine ou des objets imbriqués qui définissent des valeurs de propriété.
  • Indirectement en utilisant la syntaxe d'attribut : cette syntaxe utilise une valeur de chaîne en ligne qui contient une instruction sur la façon de créer un objet. Pour définir la valeur de la propriété sur une référence nouvellement créée, l'analyseur XAML utilise cette chaîne
  • Utiliser une extension de balisage

66. Que doit contenir un élément racine d'un document XAML ?

Dans le document XAML, l'élément racine est constitué uniquement de certains éléments, et ces éléments sont une fenêtre, un canevas ou des panneaux.


67. Qu'est-ce que la liaison de données avec XAML ?

La liaison de données offre un moyen simple d'afficher et d'interagir avec les données. Un exemple montrera comment effectuer une liaison de données en XAML. La liaison en XAML est effectuée à l'aide de la syntaxe {binding….}.


68. Expliquez comment vous pouvez afficher différentes données au moment de l'exécution et au moment de la conception ?

  • Une façon d'afficher les données au moment de l'exécution et au moment de la conception consiste à déclarer vos données en XAML.
  • Une autre façon de procéder consiste à le déclarer en XAML en utilisant divers attributs de données de l'espace de noms XML du concepteur. Avec le préfixe ad:, cet espace de noms est généralement déclaré.

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


69. Expliquez ce qu'est la fonction x : directive Key en XAML ?

X : Key identifie de manière unique les éléments créés et référencés dans un dictionnaire défini par XAML. En ajoutant une valeur x: Key à un élément d’objet XAML, une ressource dans le dictionnaire de ressources peut être identifiée et constitue le moyen le plus courant d’identification.


70. Expliquez à quoi sert la syntaxe des éléments de propriété ?

À l'aide de la syntaxe des éléments de propriété, vous pouvez ajouter un élément enfant avec un nom sous la forme parent.propertyName.


71. Comment définir les classes personnalisées utilisées en XAML ?

Les classes personnalisées sont utilisées de deux manières

  • Avec le code qui produit l'application primaire Windows Presentation Foundation (WPF) ou dans le code derrière
  • Dans un assembly distinct en tant que classe, tel qu'un exécutable ou une DLL utilisée comme bibliothèque de classes

72. Qu'est-ce que l'espace de noms Xaml ?

L'espace de noms peut être défini comme un environnement ou un conteneur abstrait utilisé pour contenir un regroupement logique d'identifiants ou de symboles uniques.

Ces questions d'entretien vous aideront également dans votre soutenance

Partagez

Un commentaire

  1. Veuillez revérifier la définition de l'événement tunnel et bulle, elle semble interchangée.
    Faites-moi savoir si je me trompe.

Laissez un commentaire

Votre adresse courriel n'apparaitra pas. Les champs obligatoires sont marqués *