Introduction
Les applications de bureau occupent une place importante dans les systèmes d’information. Installées sur le poste de l’utilisateur, elles permettent de proposer des interfaces interactives et d’exploiter les ressources locales : fichiers, périphériques ou capacités de calcul. Ces applications sont souvent qualifiées d’applications de bureau riches, connues sous le nom d'applications RDA (Rich Desktop Applications). Le terme « riches » désigne ici les possibilités offertes par leur interface et leurs interactions avec l’utilisateur.
Dans l’écosystème .NET, Windows Forms permet de développer ces applications à partir de fenêtres et de contrôles : boutons, zones de saisie, listes ou tableaux. Son concepteur visuel facilite la construction des interfaces, tandis que son modèle de développement événementiel permet de réagir aux actions de l’utilisateur. Windows Forms propose également des mécanismes de liaison de données et des capacités graphiques.
Avec WPF, qui signifie Windows Presentation Foundation, Microsoft a introduit une autre manière de concevoir les interfaces des applications Windows. Apparu en 2006 avec la version 3.0 de .NET Framework 3.0, WPF associe des capacités de présentation étendues à un modèle de programmation, permettant de mieux séparer la description de l’interface graphique du code qui l’accompagne.
Sur le plan graphique, WPF peut être présenté comme une surcouche de DirectX : son moteur de rendu s’appuie sur cette technologie pour afficher les éléments de l’interface. Il peut exploiter l’accélération matérielle de la carte graphique lorsque les conditions le permettent, tout en disposant de mécanismes de rendu logiciel. Le développeur bénéficie de ces capacités sans avoir à programmer directement avec DirectX.
Par rapport à Windows Forms, WPF apporte une plus grande souplesse dans la composition et la personnalisation des interfaces :
-
Une description déclarative avec XAML : ce langage est basé sur le XML, il permet de définir les contrôles, leur disposition et leur présentation, tandis que le code C# prend en charge les traitements.
-
Des styles et des modèles de contrôles : ils permettent de partager des règles de présentation et de modifier profondément l’apparence des contrôles.
-
Des liaisons de données élaborées : elles facilitent les échanges entre les propriétés des objets et les éléments de l’interface.
-
Une mise en page adaptable : les conteneurs organisent les éléments en fonction de l’espace disponible, et le rendu utilise des unités indépendantes des pixels physiques.
-
Des capacités graphiques intégrées : dessins vectoriels, transformations, animations, contenus multimédias et éléments 3D peuvent être combinés avec les contrôles de l’application.
Ces possibilités demandent aussi d’aborder de nouveaux concepts. Développer avec WPF ne consiste pas seulement à placer des contrôles dans une fenêtre : il faut comprendre comment décrire une interface, organiser ses ressources, relier les données à leur présentation et structurer les interactions.
Ce livre vous accompagne dans cet apprentissage. Vous découvrirez progressivement les mécanismes de WPF et leur utilisation en C#, afin de concevoir des applications Windows dont les interfaces répondent aux besoins des utilisateurs, et dont le code reste compréhensible, maintenable et évolutif.