Hello WPF, Windows Presentation Foundation

Ceci est le premier d'une série d'articles décrivant l'utilisation de Windows Presentation Foundation (WPF), une technologie puissante pour la création de Microsoft basé sur Windows, le logiciel client à puce. Le tutoriel commence par un aperçu des avantages de WPF. 

Qu'est-ce que WPF? 

Windows Presentation Foundation, ci-après dénommé WPF, est une technologie Microsoft qui vous permet de créer des interfaces utilisateur riches pour vos applications de bureau Windows. WPF a été introduite avec la version du framework .NET 3.0 comme une technologie alternative à Windows Forms.

WPF vise à vous permettre de créer des expériences utilisateur beaucoup plus riche que vous pouvez facilement développer avec Windows Forms. Pour ce faire, WPF change complètement la sélection de la technologie d'affichage sous-jacent. Alors que Windows Forms été basés sur la base de pixels Graphics Interface Device (GDI), WPF utilise les systèmes à base de vecteurs de DirectX.

Comme la plupart des cartes vidéo modernes prennent en charge DirectX, les applications WPF permettra le redimensionnement et la rotation des images à base de texte vecteur et sans pixellisation. Vous pouvez intégrer deux et en trois dimensions des graphiques vectoriels et de l'animation, qui utilise automatiquement l'accélération matérielle disponible pour l'amélioration des performances. Vous pouvez également utiliser WPF pour les applications d'affaires qui ne nécessitent pas ces fioritures graphiques. Par exemple, Visual Studio 2010 et 2012 incluent des interfaces utilisateur développés en utilisant WPF.

XAML

Vous pouvez créer des mises en page WPF utilisant le concepteur Visual Studio. Comme avec Windows Forms, vous pouvez glisser et déposer des contrôles à partir de la boîte à outils sur une surface de conception pour une fenêtre. Lorsque vous créez vos conceptions de l'interface utilisateur de cette manière, Visual Studio génère du code en utilisant un nouveau langage appelé, "XAML". Ceci est abrégé en XAML, prononcé "Zamm Ell". 

Contrairement à Windows Forms, WPF ne cache pas le code qui génère le concepteur. Le code XAML est facile à voir et, comme il est basé sur XML, simple à comprendre. En fait, il est si facile de travailler avec ce que vous êtes activement encouragés à modifier manuellement. Dans de nombreux cas, il est plus facile de travailler avec les éléments et attributs XML directement que de créer les mêmes résultats avec un designer. Tout au long du tutoriel, nous allons nous concentrer sur le XAML, plutôt que de travailler avec les concepteurs, car cela permet une plus grande compréhension de la technologie.

XAML a des applications plus larges que la création d'interfaces utilisateur WPF. Il est également la base pour la conception d'interfaces Silverlight, un logiciel Windows Phone et d'applications pour Windows 8 comprimés. Il existe des différences entre les diverses technologies basées sur XAML, mais l'apprentissage d'une variante permet la transition vers d'autres plus faciles. Nous allons nous concentrer sur la version WPF XAML, car il est le seul qui vous permet de créer des applications avec un accès complet aux fonctionnalités du système d'exploitation Microsoft Windows. 

Séparation des préoccupations

Une grande caractéristique de WPF et les applications basées sur XAML en général, est la séparation de l'interface utilisateur et l'autre code dans votre logiciel. Applications Windows Forms sont fortement tributaires sur les événements, des gestionnaires d'événements liés aux contrôles visuels. WPF sépare le code XAML, qui définit la conception d'une application, et le code de fond, que vous créez en utilisant un langage .NET tel que C #. 

Bien que vous pouvez câbler code pour contrôler les événements, il est plus fréquent pour profiter de puissantes données XAML de liaison et de commandement technologies. Ils vous permettent de référencer de manière lâche propriétés et les méthodes par leur nom dans les attributs XML. Lors de l'exécution, les contrôles sont configurés selon les propriétés nommées. Boutons et autres commandes sont reliées à des commandes qui exécutent en réponse aux actions de l'utilisateur, avec l'état des contrôles liés changent automatiquement selon la disponibilité des commandes.

La conception et le code sont si vaguement liés qu'il est possible pour des personnes différentes à travailler sur ces éléments séparés. Par exemple, un développeur peut créer les classes contenant des propriétés de se lier à et les commandes à exécuter sans aucune connaissance de la conception de l'interface utilisateur. Avec peu de détails du code sous-jacent disponible, un concepteur d'interface utilisateur peut créer le code XAML séparément pour le développeur d'intégrer dans le projet plus tard. Microsoft a même créé des outils distincts pour ces deux rôles. Les développeurs sont encouragés à utiliser Visual Studio tandis que les concepteurs disposent des outils Expression Studio, y compris Blend.

Une autre séparation des préoccupations est fourni par le style. L'utilisation d'un concept similaire à la séparation du contenu et le style dans les pages web qui est fourni par HTML et CSS, vous pouvez définir des styles en utilisant XAML et de les appliquer à plusieurs contrôles. Par exemple, si vous décidez que tous les boutons de votre logiciel devraient être rouge et avoir le texte en gras, vous pouvez définir un style pour cela et ajouter du style à tous les boutons. Si vous décidez plus tard que le bleu serait une meilleure couleur, vous pouvez mettre à jour le style en un seul endroit et toutes les commandes qui utilisent le style prendrez sur le nouveau look.

Amélioration des contrôles

WPF modifie la façon dont les contrôles de l'interface utilisateur de travailler. La plupart des contrôles Windows Forms développeurs sont à l'aise avec des équivalents dans WPF. Les contrôles comprennent encore des propriétés qui vous permettent de changer leur apparence et le comportement, telles que couleur et de police options. Pour des applications simples, cela peut être suffisant.

Pour permettre des expériences plus modernes, les contrôles WPF sont beaucoup plus puissants. Tout d'abord, ils sont composables. Cela signifie que vous pouvez imbriquer des contrôles au sein de l'autre. Par exemple, un bouton peut ne pas comporter seulement une description textuelle. Vous pourriez inclure un élément graphique pour aller avec le texte. Une liste déroulante peut être plus d'une série d'éléments textuels. Chaque option sélectionnable par l'utilisateur pourrait être une image, une animation ou même une vidéo.

Contrôles WPF sont basées sur des modèles. Un modèle est définie en utilisant XAML et comprend tous les éléments graphiques qui permettent un contrôle de fonctionner correctement. Par exemple, le modèle d'un bouton comprend les couleurs de fond, ombrage, lignes, courbes et des zones de contenu qui composent un bouton. Cette information est présente pour chaque état d'un bouton, comme le activé, désactivé, mis l'accent, mouse-over et les Etats pressés. Le modèle comprend également les détails pour des transitions animées entre les Etats.

Lors de la création de vos applications, vous pouvez modifier les modèles de contrôles existants. Cela vous permet de changer l'apparence et la sensation des commandes standard pour correspondre à la conception du logiciel que vous développez.

Multimédia

Windows Forms a été assez limité dans son soutien pour le multimédia. WPF corrige cela avec des contrôles standard pour les images, audio et vidéo. Audio et vidéo peuvent être joués dans différents formats et intégrés dans les contrôles en utilisant la composition de contrôle. Vous pouvez facilement inclure multimédia qui joue automatiquement ou qui est contrôlée par actions de l'utilisateur. 

WPF Inconvénients 

WPF est une technologie très puissante mais a quelques inconvénients. Pour expérimentés développeurs Windows Forms, la différence entre les deux techniques est grande. La flexibilité de WPF conduit à une complexité accrue dans certains scénarios. Cela signifie que WPF a une courbe d'apprentissage plus raide que Windows Forms et que la migration vers WPF nécessite beaucoup d'apprentissage. Le fait que WPF peut être utilisé d'une manière similaire à Windows Forms peut être considérée comme un inconvénient. Bien qu'il permet une migration plus rapide, cela signifie parfois que les nouveaux développeurs WPF ne sont pas conscients de la puissance de ce nouveau paradigme.

Un autre problème avec WPF pour les développeurs de l'interface utilisateur existante est que certains de Windows moins souvent utilisé Formulaires contrôles sont manquants. Vous pouvez télécharger des versions open source ou libres de ceux-ci, ou d'acheter une suite de contrôle si l'on préfère. Certains contrôles ne sont pas inclus parce que vous pouvez modifier les modèles d'autres contrôles WPF pour les créer vous-même. Toutefois, cela peut sembler beaucoup de travail lorsque vous souhaitez développer et de déployer rapidement un produit simple.

WPF est extrêmement flexible. Dans certains cas, il est trop souple, car il vous permet d'aller à la mer avec des animations, des médias, des objets 3D et autres. Si vous, comme moi, vous n'êtes pas un bon designer, il est facile de créer une interface utilisateur qui devient frustrant, inutilisable ou laid. Dans ces cas, il peut être mieux de rester avec des contrôles simples ou employer un designer pour créer vos interfaces.

Prérequis Tutorial

Tous les outils nécessaires pour créer des applications WPF sont fournis gratuitement de charge avec les versions du framework .NET qui le soutiennent. Comme avec d'autres types d'application, vous pouvez créer à la fois l'interface utilisateur et le code de fond en utilisant un éditeur de texte, tel que Notepad, et le compiler avec des outils de ligne de commande. Toutefois, l'expérience de développement est plus riche et plus efficace lorsque vous utilisez un environnement de développement intégré (IDE).

WPF a été introduit dans la version du framework .NET 3.0, mais a été grandement améliorée dans .NET 4.0. Pour cette raison, les exemples du didacticiel sont basés sur la version 4.0 technologies. Un environnement de développement idéal est, par conséquent, Visual Studio 2010 ou plus tard. Cependant, comme il est une option coûteuse pour les amateurs et les petites entreprises, vous pouvez également utiliser les éditions Express gratuitement. Comme le temps de l'écriture, vous pouvez sélectionner Visual C # 2010 Express ou Visual Studio Express 2012 pour Windows Desktop.

NB: Bien que les objectifs du didacticiel .NET 4.0, la plupart des exemples et des concepts appliquer aux versions antérieures trop.

Copyright 2016 SIR JOJO | Designed and Developed By ELTIMAR