Vous êtes sur la page 1sur 6

Titre du cours

Techniques de développement dans un environnement graphique II

-Cours#01-

Interfaces graphiques en WPF.Net

Session Code du cours


420-B05-RO
Automne 2021

Groupe Enseignant
38426 Naïm Himrane
Introduction à WPF
« Windows Presentation Foundation » (WPF) est un système d'affichage graphique moderne pour Windows. Il s'agit
d'un changement radical par rapport aux technologies qui l'ont précédé, avec des fonctionnalités innovantes telles
que l'accélération matérielle intégrée (DirectX) et l'indépendance de la résolution, que vous explorerez toutes les
deux dans ce chapitre.

WPF ne sert pas uniquement à afficher l'interface graphique des logiciels tels que traitement de texte, jeux, etc., il
fournit également un environnement d'exécution évolué pour la création d'applications web : Silverlight.

L’architecture de WPF

Figure 1L'architecture WPF1

PresentationFramework.dll : il contient les types WPF de niveau supérieur, y compris ceux qui représentent des
fenêtres, des panneaux et d'autres types de contrôles, les styles… etc.

PresentationCore.dll : il contient les types de base, tels que les interfaces utilisateurs, toutes les formes et tous les
contrôles dérivent de ces classes.

WindowsBase.dll : il contient encore plus d'ingrédients de base susceptibles d'être réutilisés en dehors de WPF, tels
que « DispatcherObject » et « DependencyObject », qui présentent la plomberie des propriétés de dépendance.

milcore.dll : c'est le cœur du système de rendu WPF et la base de la couche d'intégration média (MIL). Son moteur de
composition traduit les éléments visuels dans le triangle et les textures attendus par Direct3D.

WindowsCodecs.dll : il s'agit d'une API de bas niveau qui fournit une prise en charge de l'imagerie (par exemple, le
traitement, l'affichage et la mise à l'échelle des bitmaps et des JPEG).

1
MacDonald, Matthew. Pro WPF 4.5 in C#.
Direct3D : il s'agit de l'API de bas niveau via laquelle tous les graphiques d'une application WPF sont rendus.

User32 : contient la plupart des API Windows de base, y compris les fenêtres et les contrôles natifs, et bien d'autres
choses.

XAML
Windows Presentation Foundation (WPF) intègre le langage descriptif XAML2 qui permet de l'utiliser d'une
manière proche d'une page HTML pour les développeurs.

Les développeurs tiennent toujours à séparer la partie graphique du code sous-jacent. C’est le moyen le plus efficace
de s'attaquer à des applications complexes et riches graphiquement. De cette façon, les artistes peuvent posséder les
graphiques et les développeurs peuvent posséder le code. Les deux pièces peuvent être conçues et affinées
séparément, sans aucun problème de version.

<Window x:Class="WindowsApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/
presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
</Grid>
</Window>

XAML est un langage déclaratif dans le sens où il définit le QUOI et COMMENT vous voulez faire. Le processeur XAML
est responsable de la partie COMMENT le faire. (Figure 2)

Figure 2. Fonctionnement de XAML

2
eXtensible Application Markup Language.
Créer une application WPF
Première application WPF

1- Créer un projet WPF : « PremiereApplicationWPF »


2- Créer une classe C# : Générateur de réponses : « GenerateurReponses »
string[] reponses = new string[]{
"Demander à nouveau plus tard", "Impossible de prédire maintenant",
"Sans doute", "Est-ce décidément ainsi",
"Concentrez-vous et demandez à nouveau",
"Mes sources disent non", "Oui, définitivement",
"Ne comptez pas dessus", "Les signes indiquent Oui",
"Mieux vaut ne pas vous le dire maintenant",
"Les perspectives ne sont pas si bonnes", "Très probablement",
"Très douteux", "Comme je le vois, oui", "Ma réponse est non", "C'est certain",
"Oui", "Vous pouvez vous y fier", "Les perspectives sont bonnes",
"Répondez à Hazy Try Again"

Et une fonction : RetournerReponseAleatoire() qui retourne une réponse aléatoire.

Utiliser la classe « Random » : Random choix = new Random();

return reponses [choix.Next(0, reponses.Length)];

La Grille « Grid »

L’étoile définit une colonne ou une ligne. L’étoile utilisée seule indique d’utiliser toute la place restante dans
l’espace de la Grid.

Vous aimerez peut-être aussi