WPF Développez des applications structurées (MVVM, XAML...) (Nouvelle édition)
Présentation
Ce livre sur WPF (en version 4.5 au moment de l'écriture) s'adresse aux développeurs .NET qui souhaitent réaliser des applications avancées basées sur cette technologie. De bonnes bases sur les langages VB.Net ou C# sont un prérequis indispensable pour tirer le meilleur profit de ce livre.
L'auteur s'attache d'abord à traiter les mécanismes fondamentaux de WPF à commencer par ceux induits par l'architecture MVVM. Le langage balisé XAML est particulièrement analysé et expliqué, ceci de façon transversale, dans la plupart des chapitres. Le Binding, la gestion des évènements via les commandes, la gestion des styles, des thèmes ainsi que celle des ressources font l'objet de chapitres détaillés. Une partie est consacrée à la conception de contrôles personnalisés en WPF. Dans un second temps, le graphisme en deux puis en trois dimensions d'une part, puis l'animation WPF sont étudiés. Enfin, l'ouvrage se termine par une étude approfondie de la gestion multimédia dans cette technologie.
Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.
Les chapitres du livre :
Présentation générale – XAML et inventaire des objets principaux – Fenêtre et contrôles de disposition – Revue d'effectif des principaux contrôles – DataBinding – DataBinding avancé et DataGrid – Ressources, styles, thèmes et Triggers – Commandes et gestion des événements – Construire un contrôle WPF personnalisé – Graphisme en deux dimensions – Graphisme 3D et animations – Multimédia
L'auteur s'attache d'abord à traiter les mécanismes fondamentaux de WPF à commencer par ceux induits par l'architecture MVVM. Le langage balisé XAML est particulièrement analysé et expliqué, ceci de façon transversale, dans la plupart des chapitres. Le Binding, la gestion des évènements via les commandes, la gestion des styles, des thèmes ainsi que celle des ressources font l'objet de chapitres détaillés. Une partie est consacrée à la conception de contrôles personnalisés en WPF. Dans un second temps, le graphisme en deux puis en trois dimensions d'une part, puis l'animation WPF sont étudiés. Enfin, l'ouvrage se termine par une étude approfondie de la gestion multimédia dans cette technologie.
Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.
Les chapitres du livre :
Présentation générale – XAML et inventaire des objets principaux – Fenêtre et contrôles de disposition – Revue d'effectif des principaux contrôles – DataBinding – DataBinding avancé et DataGrid – Ressources, styles, thèmes et Triggers – Commandes et gestion des événements – Construire un contrôle WPF personnalisé – Graphisme en deux dimensions – Graphisme 3D et animations – Multimédia
Table des matières
Présentation générale
- 1. Préambule
- 2. Application WPF
- 2.1 Introduction
- 2.2 Création d'une application WPF
- 2.3 Détail de la composition d'un projet WPF
- 3. MVVM
- 3.1 Introduction
- 3.2 Exemple WPF mettant en évidence l'architecture MVVM
- 3.2.1 Objet de l'exemple
- 3.2.2 Implémentation de l'exemple
- 3.2.3 Explications relatives à MVVM
- 3.3 MVVM et MVC : une différence fondamentale
- 3.4 MVVM et les événements
- 3.5 Survol de la notion de Command
XAML et inventaire des objets principaux
- 1. Premiers concepts relatifs au langage XAML
- 1.1 Introduction
- 1.2 Compilateur XAML
- 1.3 Syntaxe de base en XAML
- 1.4 Code XAML vs C#
- 1.5 Classe de référence
- 1.6 Espaces de noms
- 1.6.1 mc:Ignorable
- 2.1 Introduction
- 2.2 Manipulation d'un concepteur visuel
- 2.3 Propriétés de dimension des contrôles
- 2.4 Propriétés de positionnement des contrôles
- 2.4.1 Alignement
- 2.4.2 Marges
- 2.4.3 Propriété Padding
- 2.4.4 Exemple
- 3.1 Introduction
- 3.2 Premier exemple d'un contexte de données
- 3.3 Précision sur le rôle du contexte de données
- 3.3.1 Découplage
- 3.3.2 Héritage
- 4.1 Introduction
- 4.2 Contrôle WPF et ascendants
- 4.3 Propriétés de dépendance
- 4.3.1 Propriété classique
- 4.3.2 Mécanisme et avantages d'une propriété de dépendance
- 4.3.3 Création explicite d'une propriété de dépendance
Fenêtre et contrôles de disposition
- 1. Introduction
- 2. Contrôle de grille
- 2.1 Introduction
- 2.2 Syntaxe et utilisation
- 2.3 Grille et dimension des cellules
- 3. Contrôles de type Panel
- 3.1 Introduction
- 3.2 StackPanel
- 3.3 DockPanel
- 3.3.1 Propriété LastChildFill
- 3.4 WrapPanel
- 4.1 Canvas
- 4.2 ViewBox
- 4.3 ScrollViewer
- 4.4 Border
- 4.5 ItemsControl
Revue d’effectif des principaux contrôles
- 1. Introduction
- 2. Contrôles d'affichage
- 2.1 TextBlock
- 2.1.1 TextTrimming
- 2.1.2 TextWrapping
- 2.1.3 Autres aspects de la mise en forme d'un TextBlock
- 2.1 TextBlock
- 2.2 Label
- 2.3 Image
- 2.4 StatusBar et ToolTip
- 3.1 TextBox
- 3.2 PasswordBox
- 3.3 RichTextBox
- 4.1 ComboBox
- 4.2 CheckBox et RadioButton
- 4.3 Sélection dans des objets complexes
- 4.3.1 ListBox
- 4.3.2 ListView et GridView
- 4.3.3 TreeView
- 6.1 Window
- 6.1.1 Propriétés significatives
- 6.1.2 Lancement depuis l'application WPF
DataBinding
- 1. Introduction
- 1.1 Binding côté vue exclusivement
- 1.1.1 Propriété Source
- 1.1.2 Propriété RelativeSource
- 1.1.3 Propriété ElementName
- 1.1 Binding côté vue exclusivement
- 1.2 Binding entre vue et vue-modèle
- 1.2.1 Introduction
- 1.2.2 Présentation de l'objet de binding
- 1.2.3 Propriété Mode de l'objet de binding
- 1.2.4 Propriété UpdateSourceTrigger de l'objet de binding
- 1.2.5 Interface INotifyPropertyChanged
- 1.2.6 Définir le même binding en C# puis en XAML
- 1.3 Binding de collections
- 1.3.1 Introduction
- 1.3.2 Interface INotifyCollectionChanged
- 1.3.3 Binding avec ObservableCollection<T>
- 1.3.4 Binding avec implémentation de INotifyCollectionChanged
- 1.3.5 Binding avec un DataView
- 1.3.6 Binding de collection et ComboBox
DataBinding avancé et DataGrid
- 1. Introduction
- 2. Le contrôle DataGrid
- 2.1 Introduction
- 2.2 Utilisations de AutoGenerateColumns
- 2.3 Sélections diverses
- 2.4 Tris, ordres et redimensionnement
- 2.5 Usage du RowDetailTemplate
- 2.6 Exemple progressif d'utilisation
- 3. Éléments avancés de binding
- 3.1 Conversion
- 3.2 Conversion sans l'interface IValueConverter
- 3.2.1 Usage de StringFormat
- 3.2.2 MultiBinding
- 3.3 Validation
- 3.4 « Debugger » le binding
Ressources, styles, thèmes et Triggers
- 1. Introduction
- 2. Ressources
- 2.1 Introduction
- 2.2 Ressources statiques et ressources dynamiques
- 2.3 Ressources locales, de la fenêtre ou de l'application
- 2.4 Rechercher une ressource
- 2.5 Retour sur la notion de dictionnaire
- 2.6 Ressources binaires et URI Pack
- 2.6.1 URI Pack : éléments de syntaxe
- 3.1 Premiers éléments de syntaxe
- 3.2 Utilisation d'un Style
- 3.3 Utilisation d'un Style pour les événements
- 3.4 Héritage de Styles
- 5.1 Trigger de propriétés
- 5.2 Trigger de données
- 5.3 Trigger d'événements
- 5.4 MultiTrigger et MultiDataTrigger
- 5.4.1 MultiTrigger
- 5.4.2 MultiDataTrigger
Commandes et gestion des événements
- 1. Commandes
- 1.1 Introduction
- 1.2 Premiers éléments de syntaxe
- 1.3 Commandes routées
- 1.4 CommandBinding
- 2. Pour aller plus loin avec les commandes
- 2.1 Différents types de déclenchements de commandes
- 2.2 Passer des paramètres à une commande
Construire un contrôle WPF personnalisé
- 1. Introduction
- 2. Personnaliser un contrôle existant
- 2.1 Créer un contrôle personnalisé
- 3. Construire un contrôle utilisateur
- 3.1 Hériter de UserControl
- 3.2 Exemple détaillé d'un contrôle utilisateur
Graphisme en deux dimensions
- 1. Introduction
- 2. Premiers éléments du graphisme en WPF
- 2.1 Système de coordonnées
- 2.2 Unité de longueur
- 2.3 Catégorie d'objets Shape
- 2.4 Inventaire des formes géométriques
- 2.4.1 Line
- 2.4.2 PolyLine
- 2.4.3 Classes Ellipse et Rectangle
- 2.4.4 Classe Polygon
- 2.4.5 Classe Path et combinaisons
- 2.4.6 Classe Path et PathGeometry
- 2.4.7 PathGeometry et ArcSegment
- 2.4.8 PathGeometry et courbes de Bézier
- 3.1 Introduction
- 3.2 Exemple de GeometryDrawing
- 3.3 Exemple de DrawingGroup
- 4.1 Pinceaux
- 4.2 Pinceaux et dégradés
- 4.3 Opacité
- 5.1 Introduction
- 5.2 Translation
- 5.3 Rotation
- 5.4 Homothétie
- 5.5 Inclinaisons
- 5.6 Combinaison de transformations
Graphisme 3D et animations
- 1. Graphisme en trois dimensions
- 1.1 Introduction
- 1.2 Repère 3D
- 1.3 Modèle 3D d'un objet
- 1.4 Texture
- 1.5 Point de vue
- 1.6 Lumière
- 1.7 Modèle 3D avec définition explicite du maillage
- 2. Animations
- 2.1 Introduction
- 2.2 Premières animations
- 2.3 Paramétrage avancé des animations
- 2.4 Exemple complet d'animation WPF
- 2.5 Fonctions d'accélération
- 2.6 Animation de type KeyFrame
Multimédia
- 1. Introduction
- 2. Documents
- 2.1 Gestion de FlowDocument
- 2.1.1 Paramétrage d'un FlowDocument
- 2.1.2 Définition du contenu d'un FlowDocument
- 2.1.3 Contrôle FlowDocumentScrollViewer
- 2.1 Gestion de FlowDocument
- 2.2 Gestion de FixedDocument
- 2.2.1 Introduction
- 2.3 XpsDocument, FixedDocument et visualisation
- 2.4 Données d'impression
- 3.1 Introduction
- 3.2 Propriétés essentielles
- 3.3 Contrôle et lecture du média
- 3.4 Mode Horloge avec MediaTimeline
- 4.1 Introduction
- 4.2 Encodage, décodage et création d'images
- 4.3 Traitement d'images
- 5.1 Introduction
- 5.2 Découpe
- 5.3 Opacité
- 5.4 Gestion des ombres et du flou
- 5.5 Effets personnalisés
Auteur
Benoît PRIEUREn savoir plus
Diplômé de l'ISIMA de Clermont-Ferrand, Benoît PRIEUR a exercé pendant plusieurs années en tant qu'ingénieur freelance. Spécialisé dans le développement avec les langages Python, C++, Rust et C#, il est aujourd’hui Ingénieur innovation pour le compte du cabinet international de conseil en innovation Palo IT. Également formateur et conférencier sur diverses technologies (relatives notamment à l'informatique quantique), il écrit régulièrement des articles sur la programmation de logiciels.
Caractéristiques
- Niveau Confirmé à Expert
- Nombre de pages 342 pages
- Parution juin 2017
- Livre (broché) - 17 x 21 cm
- ISBN : 978-2-409-00853-5
- EAN : 9782409008535
- Ref. ENI : EI3WPF
- Niveau Expert à Confirmé
- Parution juin 2017
- HTML
- ISBN : 978-2-409-00958-7
- EAN : 9782409009587
- Ref. ENI : LNEI3WPF
Téléchargements
- Des fichiers complémentaires (2,02 Mo)