Développement d’application avec base de données Semaine 8 : WPF avec Entité Framework Automne 2015
Initiation à WPF Entité Framework, BindingSource et WPF Exercices Travail pratique #2 Plan de présentation
Qu’est-ce que Windows Presentation Foundation la nouvelle technologie de développement d’interfaces graphiques sous Windows(.Net novembre 2006). Pourquoi WPF? Le premier objectif de WPF est de permettre l’unification de l’interface utilisateur, des documents et des médias(GDI (Graphics Device Interface), DirectX, manipulation de documents, etc. Le deuxième objectif de WPF est de proposer une technologie bénéficiant d’un moteur de rendu vectoriel. Le troisième objectif de WPF concerne le moyen utilisé par le moteur pour afficher les informations à l’écran. En effet, avec WPF, l’ensemble des calculs nécessaires pour afficher l’interface utilisateur est réalisé par la carte graphique (le GPU, Graphics Processing Unit) et non pas via le processeur de l’ordinateur, le CPU (Central Processing Unit). le quatrième objectif de WPF est de proposer un double modèle de programmation pour les applications Windows : à la fois déclaratif via l’utilisation du langage XAML et impératif grâce au code.NET. Enfin, le dernier objectif de WPF est de tenter de répondre à un besoin nécessaire pour toutes les applications WindowsForms : la simplicité de déploiement. En proposant la possibilité de créer des applications stand alone ou bien hébergées dans un navigateur web, WPF offre le meilleur des deux modèles de déploiement. Initiation à WPF
l’affichage vectoriel : afin de proposer des interfaces proposant la meilleure expérience utilisateur possible, quelle que soit la résolution de l’écran, il est important de disposer d’une technologie qui ne dégrade pas l’interface en cas de changement de résolution de redimensionnement, etc. ; le support de l’accélération matérielle sur des machines suffisamment récentes :comme nous l’avons déjà expliqué, cette fonctionnalité permet au moteur WPF d’utiliser la puissance de la carte graphique (et non du processeur) pour se charger de tous les calculs nécessaires à l’affichage de l’interface ; un moteur de composition innovant, qui permet l’imbrication de contrôles dans d’autres contrôles ou, d’une manière plus générale, l’imbrication de contenu dans du contenu ; un moteur de data binding puissant, qui facilite la mise en place de la liaison entre l’interface graphique et des données métiers ; la possibilité de personnaliser complètement l’affichage et le rendu d’une interface graphique, aux moyens des styles et des modèles (templates) ; l’introduction d’un nouveau format de documents et de technologie d’impression. Il n’est en effet pas rare que des applications aient besoin de mettre en place un mécanisme de persistance de données. Il est donc possible, avec WPF, d’utiliser les Open Packaging Conventions, une norme d’archivage de fichiers basée sur le format ZIP et partagée avec Office OPC supporte les fonctionnalités de métadonnées, de signatures digitales et de gestion des droits ; l’introduction d’un nouveau langage, XAML, qui sépare réellement le développement de l’interface utilisateur et l’écriture du code associé à cette interface (réponse aux événements, appels de méthodes, etc.). Avantages de WPF
Le XAML(Extensible Avalon* Markup Language): langage à balises pour la programmation d’applications déclaratives des interfaces utilisateurs. Les contrôles: Les contrôles sont maintenant vectoriel, ce qui veut dire qu’on se base sur des DIP(Device-Independant Pixel) plutôt que des pixels pour les positionner. De plus, ces contrôles doivent être dans des containers. Qui dit nouveaux contrôles, dit nouvelles propriétés… *Le nom de code de WPF lors du développement Éléments de WPF
Petit exercice ensemble
Déplacer aléatoirement avec un Timer tous les composants dans la fenêtre pour apprécier WPF. Voici en vrac des méthodes qui pourraient vous aider: Petit exercice seul
Nous allons construire l’application suivante qui présente les contacts et leurs adresses. Entité Framework, BindingSource et WPF
La première étape consiste à 1.créer un projet WPF, 2.Ajouter un EDM(N’oubliez pas de compiler) 3.Ouvrir la fenêtre Source de données 4.Créer une nouvelle source de données Objets avec les éléments de l’EDM. Entité Framework, BindingSource et WPF
Ensuite, il faut : 1.Ajouter(glisser-déposer) le contact en mode détail, 2.Ajouter(glisser-déposer) l’adresse en mode DataGrid, 3.Effacer le Contact ID et la date de création, 4.Ajouter le contact en tant que ListBox. Entité Framework, BindingSource et WPF
Deux CollectionViewSource ont été créé dans le XAML et ces collections sont liés aux composants. Entité Framework, BindingSource et WPF
Maintenant il faut les remplir: Entité Framework, BindingSource et WPF
Les objets ObservableCollection sont des objets dynamiques qui informent les contrôles lors d’un changement. De plus, nous avons un problème, DisplayMemberPath="AddDate" ne permet qu’un seul élément. Entité Framework, BindingSource et WPF
Il faut donc modifier le XAML: Entité Framework, BindingSource et WPF
Il ne reste plus qu’à ajouter des boutons Enregistrer, Ajouter et Supprimer Entité Framework, BindingSource et WPF
Voir le document. Exercices
Questions?