Titre : | WPF : développez des applications riches sous windows | Type de document : | texte imprime | Auteurs : | Olivier Dewit, Auteur | Mention d'édition : | 2e éd. | Editeur : | Paris : ENI | Année de publication : | cop .2010 | Collection : | Expert IT | Importance : | 577p. | Présentation : | ill. | Format : | 21cm. | ISBN/ISSN/EAN : | 978-2-7460-5661-9 | Note générale : |
La couv. porte en plus : "Informatique technique"
Index | Langues : | Français | Catégories : | Ordinateurs(systèmes d'exploitation)
| Mots-clés : | Microsoft Windows Presentation Foundation (plate-forme informatique) Sites Web Sites Web:conception Développement rapide d'applications Microsoft Silverlight (logiciel) | Index. décimale : | 005.444 (23e éd.) = Systèmes d'exploitation pour les mini-ordinateurs | Résumé : |
Ecrit par un expert du développement d’applications clientes, ce livre sur WPF 4 (Windows Presentation Foundation) est un cours complet sur la programmation d’applications riches pour Windows. Tous les aspects de la technologie WPF sont décrits en profondeur et illustrés avec de nombreux exemples. Ce livre s’adresse au développeur .NET qui souhaite découvrir et approfondir la programmation RDA (Rich Desktop Application) pour Windows avec Visual Studio 2010 et Expression Blend 4. L’ouvrage présente de façon approfondie le modèle applicatif de WPF : XAML, fenêtrage, ergonomie navigationnelle, intégration à la barre des tâches de Windows 7 et internationalisation. Le lecteur découvrira comment organiser le code d’une application pour collaborer efficacement avec des infographistes et mettre en place un système de skins qui exploite les styles et les templates. Il apprendra les bases fondamentales du graphisme vectoriel 2D et 3D et la création d’animations, de transformations et d’effets Pixel Shader. Il apprendra également à gérer les différents types de contenu supportés par WPF : interface utilisateur à base de contrôles interactifs, support des écrans tactiles multitouch, visualisation et saisie de données (databinding, architecture MVVM), multimédia (image, son, vidéo), documents dynamiques adaptés à la lecture sur écran (FlowDocument) et documents imprimables au format XPS. Un chapitre est consacré au développement de bibliothèques de contrôles personnalisés. Les exemples de code utilisent C# et XAML. Ils proviennent soit d’applications exemples disponibles en téléchargement sur www.editions-eni.fr, soit de la bibliothèque WPF open-source Perspective disponible sur le site Codeplex. | Note de contenu : |
Chapitre 1 Fondamentaux
1. Introduction 15
2. Objectifs de WPF 18
2.1 Modernisation et unification des techniques de développement visuel 19
2.2 Exploitation de la puissance graphique des machines modernes 19
2.3 Meilleure intégration de l'infographie dans le processus de développement 20
2.4 Déploiement simplifié et sécurisé 21
3. Outils de développement et de conception visuelle 21
3.1 Visual Studio 2010 21
3.2 SDK Windows 23
3.3 Expression 23
3.3.1 Expression Design 23
3.3.2 Expression Blend 24
4. XAML 25
4.1 Instanciation d'objets .NET 25
4.2 Initialisation de propriété 28
4.2.1 Syntaxe attribut 28
4.2.2 Syntaxe élément-propriété 28
4.2.3 Propriétés implicites 29
4.3 Événements 29
5. Principales fonctionnalités de WPF 30
5.1 Graphisme 2D 30
5.2 Système de disposition 31
5.3 Transformations 32
5.4 Animation 33
5.5 Graphisme 3D 34
5.6 Contenus multimédia 35
5.6.1 Texte et documents 35
5.6.2 Audio et vidéo 36
5.6.3 Image 36
5.7 Effets 37
5.8 Contrôles 38
5.9 Ressources 40
5.10 Séparation du fonctionnel et du visuel 41
5.10.1 Styles 41
5.10.2 Templates 42
5.11 Databinding 42
6. Modèle applicatif 43
6.1 Structure d'un projet WPF 44
6.1.1 Création manuelle d'un projet WPF 44
6.1.2 Création d'un projet WPF par l'assistant 46
6.2 Fenêtres et pages 49
6.3 Classes fondamentales 52
6.3.1 FrameworkElement 52
6.3.2 Freezable et Animatable 53
6.4 Ressources 54
6.4.1 Définition de ressources 55
6.4.2 Utilisation de ressources 56
6.4.3 Fusion de dictionnaires 58
6.5 Styles 59
6.5.1 Définition de valeur de propriétés 59
6.5.2 Définition d'un style 59
6.5.3 Utilisation d'un style 60
6.5.4 Styles implicites 60
6.5.5 Héritage de style 61
6.5.6 Définition d'événement 61
6.5.7 Déclencheurs 62
6.6 Ressources binaires 63
6.7 URI Pack 64
6.7.1 Fichiers de ressources 64
6.7.2 Fichiers de contenu 64
6.7.3 Fichiers du site d'origine 64
6.7.4 Syntaxe URI pack 65
6.7.5 Chargement de fichier par URI pack 66
7. Mécanisme d'affichage 67
7.1 Généralités 67
7.2 Mode d'affichage 69
Chapitre 2 Graphisme 2D
1. Introduction 71
2. Système de coordonnées 2D 71
3. Panneaux et système de disposition 75
3.1 Principe 75
3.2 Canvas 77
3.3 StackPanel 78
3.4 Grid 79
3.5 DockPanel 83
3.6 WrapPanel 85
3.7 Propriétés impactant sur la disposition 86
3.7.1 Dimensions 86
3.7.2 Marges 86
3.7.3 Alignement 87
3.7.4 ZIndex 88
3.7.5 Visibilité 89
3.7.6 Transformations 90
4. Autres conteneurs 90
4.1 Border 90
4.2 Viewbox 91
4.3 ScrollViewer 92
5. Typographie 93
5.1 Qualité d'affichage 93
5.2 Propriétés de police 94
5.3 TextBlock 95
5.4 Typographie avancée 96
6. Techniques graphiques de base 97
6.1 Formes géométriques basiques 97
6.1.1 Shape 97
6.1.2 Line 99
6.1.3 Polyline 100
6.1.4 Rectangle et Ellipse 101
6.1.5 Polygon 103
6.1.6 Path (tracé) et géométries 105
6.1.7 Arc d'ellipse 109
6.1.8 Courbe de Bézier 111
6.1.9 Définition de tracé par mini-langage 113
6.1.10 Étirement (stretching) 115
6.2 Drawing 117
6.3 Couleur et transparence 121
6.3.1 Color 121
6.3.2 Opacity 122
6.4 Pinceaux 122
6.4.1 Pinceau uni 123
6.4.2 Pinceaux dégradés 123
6.4.3 Pinceau image 125
6.4.4 Pinceau Visual 125
6.4.5 Pinceau Drawing 126
6.4.6 Mosaïque 126
7. Transformations 128
7.1 Types de transformations 129
7.1.1 Déplacement 130
7.1.2 Mise à l'échelle 130
7.1.3 Rotation 130
7.1.4 Inclinaison 131
7.1.5 Regroupement 131
7.1.6 Transformation matricielle 132
7.2 Application d'une transformation 134
7.2.1 Transformation d'un FrameworkElement 134
7.2.2 Autres applications des transformations 135
8. Aspects avancés 135
8.1 Arrondi de disposition et alignement des pixels 135
8.2 BitmapCache 136
Chapitre 3 Graphisme 3D
1. Introduction 139
2. Tour d'horizon 140
2.1 2D et 3D 140
2.1.1 Système de coordonnées 141
2.1.2 Point de vue 142
2.1.3 Éclairage 142
2.2 Un atelier pour découvrir la 3D 143
2.2.1 Workshop3D 143
2.2.2 Repère visuel des coordonnées 145
2.2.3 Position et taille des éléments 146
2.2.4 Matière 147
2.2.5 Placage de texture 148
3. Création de modèles 3D 149
3.1 Modèle objet 149
3.2 Matière 151
3.2.1 Surface mate 152
3.2.2 Surface lumineuse 153
3.2.3 Combinaison de matières 153
3.2.4 Réflexion spéculaire 154
3.3 Géométrie 3D 155
3.3.1 Positions et triangles 155
3.3.2 Normales 158
3.3.3 Placage de texture 159
3.4 ModelVisual3D 161
3.5 UIElement3D 163
4. Mise en oeuvre de modèles 3D 166
4.1 Intégration avec la 2D 166
4.2 Caméra 167
4.3 Éclairage 171
5. Transformations 3D 176
5.1 Types de transformations 177
5.1.1 Déplacement 177
5.1.2 Mise à l'échelle 178
5.1.3 Rotation 178
5.1.4 Regroupement 178
5.1.5 Transformation matricielle 179
5.2 Transformation sur un Visual3D 180
5.3 Transformation sur un Model3D 181
5.4 Transformation sur un Point3D ou sur un Vector3D 181
Chapitre 4 Animation
1. Introduction 183
2. Principe 184
2.1 Types d'animation 184
2.2 Animation basique 185
2.3 Storyboard 185
2.4 PropertyPath 188
3. Séquences 188
3.1 Imbrication 190
3.2 Durée 190
3.3 Moment relatif de démarrage 190
3.4 Répétition 191
3.5 Réversibilité 191
3.6 Facteur d'accélération 191
3.7 Vitesse 192
3.8 Comportement en fin de séquence 192
3.9 Exemple 192
4. Contrôle d'une animation par le code 196
4.1 Contrôle par un Storyboard 196
4.2 Animation locale 197
4.3 Contrôle par une horloge 198
5. Animations réalistes 200
5.1 Principe 200
5.2 Mode d'interpolation 204
5.3 Interpolation personnalisée 206
6. Animations KeyFrame 209
6.1 Principe 209
6.2 Interpolation discrète 210
6.3 Interpolation Spline 211
6.4 Interpolation Easing 213
7. Animation sur tracé 214
8. Édition d'animation avec Expression Blend 4 216
Chapitre 5 Multimédia
1. Introduction 219
2. Documents et impression 219
2.1 Documents dynamiques (FlowDocument) 220
2.1.1 Visualisation 220
2.1.2 Mise en page 223
2.1.3 Structure du document 224
2.1.4 Block : organisation du contenu 226
2.1.5 Inline : contenu du document 227
2.1.6 Exemple de document basique 229
2.1.7 Paragraphe 230
2.1.8 Liste 231
2.1.9 Tableau 232
2.1.10 Floater et Figure 235
2.1.11 Intégration d'objet UIElement 237
2.2 Inline et TextBlock 238
2.3 Effets de texte 239
2.4 Documents fixes (FixedDocument) 240
2.4.1 Le format XPS 240
2.4.2 XpsDocument et FixedDocument 242
2.4.3 Création d'un objet FixedDocument 243
2.4.4 Visualisation 244
2.4.5 Création d'un fichier XPS 245
2.4.6 Ouverture d'un fichier XPS existant 245
2.4.7 Publication Web d'un fichier XPS 246
2.5 Impression 246
2.5.1 Impression d'un document fixe 247
2.5.2 Impression d'un objet Visual 247
2.5.3 Choix d'imprimante par l'utilisateur 248
2.5.4 Impression d'un document dynamique 250
3. Images bitmap 250
3.1 BitmapSource 251
3.2 Lecture et affichage d'image 252
3.2.1 Élément Image 252
3.2.2 BitmapImage 253
3.3 Encodage et décodage 254
3.4 Écriture de bitmap 255
3.4.1 RenderTargetBitmap 255
3.4.2 WriteableBitmap 256
3.5 Opérations sur les images 258
3.5.1 Recadrage 258
3.5.2 Conversion de format d'image 259
3.5.3 Rotation ou mise à l'échelle 260
3.6 Métadonnées 260
4. Audio et vidéo 261
4.1 MediaElement 261
4.1.1 Représentation visuelle 261
4.1.2 Chargement du flux 262
4.1.3 Lecture et contrôle 262
4.1.4 Exemple 263
4.2 Mode horloge 266
4.2.1 Chargement et contrôle 266
4.2.2 Synchronisation avec une animation 268
5. Opérations graphiques 270
5.1 Découpe (clipping) 270
5.2 Masque d'opacité 272
5.3 Effets graphiques 273
5.3.1 Ombre portée (DropShadowEffect) 274
5.3.2 Effet de flou (BlurEffect) 275
5.3.3 Effets personnalisés (ShaderEffect) 276
5.3.4 Création d'effets avec Perspective FX 277
5.3.5 Programmation d'effets en HLSL 280
5.3.6 Pixel Shader 3.0 284
Chapitre 6 Contrôles et interactivité
1. Introduction 287
2. Contrôles WPF 287
2.1 Composition visuelle 288
2.1.1 Templates 288
2.1.2 Imbrication de contenu 288
2.1.3 Arbre logique et arbre visuel 289
2.1.4 FrameworkContentElement 290
2.2 Control 290
2.3 ContentControl : un seul objet contenu 292
2.4 ItemsControl : plusieurs objets contenus 294
2.5 Étendue de valeurs 295
2.5.1 Barre de progression 296
2.5.2 Slider 297
2.5.3 Fader et Knob 297
2.6 Saisie de texte 298
2.7 Décorateurs 299
3. Personnalisation du visuel d'un contrôle 300
3.1 Template par défaut 301
3.2 Structure visuelle du template 302
3.3 Gestion des états visuels 304
3.3.1 États 304
3.3.2 Transitions 307
3.4 Utilisation des déclencheurs 308
3.5 Parties nommées 309
4. Gestion de l'interactivité 310
4.1 Événements routés 310
4.1.1 Routage 310
4.1.2 Partage automatique de gestionnaire d'événements 313
4.1.3 Handled 314
4.1.4 Source et OriginalSource 315
4.1.5 Gestionnaire de classe 315
4.2 Gestion du focus 316
4.2.1 Focus clavier 316
4.2.2 Focus logique 319
4.3 Clavier 319
4.4 Entrée de texte indépendante du périphérique 321
4.5 Souris 321
4.5.1 Survol par la souris 322
4.5.2 Boutons de la souris 322
4.5.3 Molette de la souris 324
4.5.4 Capture de la souris 324
4.5.5 Position de la souris 325
4.6 Toucher 326
4.6.1 Événements tactiles 326
4.6.2 Capture tactile 329
4.6.3 Manipulations 330
4.6.4 Inertie 333
4.6.5 Contrôles à défilement tactile 334
4.6.6 Contrôles Surface 335
5. 3D interactive 338
5.1 Modèles 3D interactifs 338
5.2 Projection 3D d'éléments 2D 339
6. Commandes 342
6.1 ICommand 342
6.2 Commandes routées 344
6.3 Déclenchement d'une commande 346
6.3.1 Déclenchement par le code 346
6.3.2 Déclenchement par InputGesture 346
6.3.3 Déclenchement par ICommandSource 347
6.4 Réponse à une commande 348
6.4.1 Réponse à une commande non routée 348
6.4.2 Réponse à une commande routée 348
Chapitre 7 Gestion de données
1. Introduction 351
2. Architecture Model-View-ViewModel 352
2.1 Principe 352
2.2 Mise en oeuvre 354
2.2.1 Entités 354
2.2.2 Model (modèle) 355
2.2.3 ViewModel 357
2.2.4 View (vue) 359
3. Databinding 360
3.1 Principe 360
3.2 Objet source 362
3.3 Valeur source 364
3.4 Fournisseur d'objet source 364
3.5 Objet cible et propriété cible 366
3.6 Mode de binding 367
3.7 Notification du changement de valeur 367
3.7.1 INotifyPropertyChanged 367
3.7.2 Dependency properties 369
3.8 Conversions 369
3.8.1 Principe 369
3.8.2 Simplification 371
3.8.3 MultiBinding 372
3.9 Validation et mise à jour 373
3.9.1 Création d'une règle de validation 373
3.9.2 Classes de validation prédéfinies 374
3.9.3 Notification d'erreur de validation 375
3.9.4 Mode de mise à jour 378
3.10 Liaison sur des collections 378
3.10.1 Principe 378
3.10.2 INotifyCollectionChanged 379
3.10.3 Listes de sélection 379
3.10.4 Virtualisation 380
3.10.5 Personnalisation du visuel d'une liste 381
3.10.6 Personnalisation visuelle avancée 383
3.10.7 Scénario maître-détail 385
3.11 Vues de collection 386
3.11.1 Modèle objet 386
3.11.2 Navigation 387
3.11.3 Filtre 389
3.11.4 Tri 390
3.11.5 Regroupement 392
3.12 DataGrid 394
3.12.1 Architecture et fonctionnalités 394
3.12.2 Colonnes personnalisées 397
3.12.3 Annulation de la saisie 401
3.12.4 Détail de ligne 402
Chapitre 8 Classes personnalisées
1. Introduction 405
2. Bibliothèque de classe 405
3. Espaces de noms XML 406
4. Classes de base 408
4.1 Contrôle utilisateur 408
4.2 Classes WPF 409
4.3 Comportements (behaviors) 410
5. Dependency property 411
5.1 Principe 411
5.2 Wrapper CLR 412
5.3 Valeur d'une dependency property 413
5.4 Implémentation d'une dependency property 414
5.5 Utilisation d'une dependency property 416
5.6 Métadonnées 417
5.6.1 Principe 417
5.6.2 Valeur par défaut 418
5.6.3 Callback de validation 418
5.6.4 Callback de changement de valeur 418
5.6.5 Callback de contrainte 419
5.6.6 Rafraîchissement de valeur 420
5.6.7 Configuration de dependency property 420
5.6.8 Surcharge de métadonnées 421
5.7 Partage de propriété 422
5.8 Propriété en lecture seule 422
5.9 Propriété attachée 424
5.9.1 Implémentation d'une propriété attachée 424
5.9.2 Utilisation d'une propriété attachée 426
5.10 Propriété héritable 426
6. Événements routés 427
6.1 Implémentation 427
6.2 Événements attachés 428
6.2.1 Principe 428
6.2.2 Implémentation 429
7. Panneaux personnalisés 429
8. Figures personnalisées 436
8.1 Personnalisation du visuel d'un élément 436
8.1.1 Principe 436
8.1.2 Affichage de texte 439
8.2 Shape personnalisé 442
9. Contrôles personnalisés 444
9.1 Principe 444
9.2 Template 446
9.2.1 Support des thèmes Windows 446
9.2.2 DefaultStyleKey 447
9.2.3 Interaction avec le template 447
9.2.4 ComponentResourceKey 448
Chapitre 9 Aspects avancés du modèle applicatif
1. Introduction 449
2. Modèle applicatif 449
2.1 La classe Application 449
2.2 Fenêtres 450
2.2.1 Cycle de vie 450
2.2.2 Position 451
2.2.3 Taille et bordures 452
2.3 Boîtes de dialogue modales 453
2.3.1 Boîtes de dialogue personnalisées 453
2.3.2 Boîtes de dialogue standard 455
3. Ergonomie navigationnelle 456
3.1 Principe 456
3.1.1 Pages 456
3.1.2 Navigation relative 458
3.1.3 Autres cibles de navigation 459
3.2 Classe Page 459
3.3 Conteneurs de navigation 459
3.3.1 NavigationWindow 459
3.3.2 Frame 460
3.4 Fichier XAML isolé 461
3.5 Service de navigation 463
3.5.1 NavigationService 463
3.5.2 Cycle de vie des pages 464
3.5.3 Gestion de l'état 464
4. Intégration à la barre des tâches de Windows 7 465
4.1 Jauge dans le bouton 465
4.2 Notification dans le bouton 466
4.3 Vignette interactive 467
4.4 Jump list 469
5. Gestion de skins 471
6. Internationalisation 475
6.1 LocBaml 476
6.2 Ressources binaires String 476
Index 481
| En ligne : | https://www.amazon.fr/WPF-D%C3%A9veloppez-applications-Windows-%C3%A9dition/dp/2 [...] | Permalink : | ./index.php?lvl=notice_display&id=15119 |
WPF : développez des applications riches sous windows [texte imprime] / Olivier Dewit, Auteur . - 2e éd. . - Paris : ENI, cop .2010 . - 577p. : ill. ; 21cm.. - ( Expert IT) . ISBN : 978-2-7460-5661-9
La couv. porte en plus : "Informatique technique"
Index Langues : Français Catégories : | Ordinateurs(systèmes d'exploitation)
| Mots-clés : | Microsoft Windows Presentation Foundation (plate-forme informatique) Sites Web Sites Web:conception Développement rapide d'applications Microsoft Silverlight (logiciel) | Index. décimale : | 005.444 (23e éd.) = Systèmes d'exploitation pour les mini-ordinateurs | Résumé : |
Ecrit par un expert du développement d’applications clientes, ce livre sur WPF 4 (Windows Presentation Foundation) est un cours complet sur la programmation d’applications riches pour Windows. Tous les aspects de la technologie WPF sont décrits en profondeur et illustrés avec de nombreux exemples. Ce livre s’adresse au développeur .NET qui souhaite découvrir et approfondir la programmation RDA (Rich Desktop Application) pour Windows avec Visual Studio 2010 et Expression Blend 4. L’ouvrage présente de façon approfondie le modèle applicatif de WPF : XAML, fenêtrage, ergonomie navigationnelle, intégration à la barre des tâches de Windows 7 et internationalisation. Le lecteur découvrira comment organiser le code d’une application pour collaborer efficacement avec des infographistes et mettre en place un système de skins qui exploite les styles et les templates. Il apprendra les bases fondamentales du graphisme vectoriel 2D et 3D et la création d’animations, de transformations et d’effets Pixel Shader. Il apprendra également à gérer les différents types de contenu supportés par WPF : interface utilisateur à base de contrôles interactifs, support des écrans tactiles multitouch, visualisation et saisie de données (databinding, architecture MVVM), multimédia (image, son, vidéo), documents dynamiques adaptés à la lecture sur écran (FlowDocument) et documents imprimables au format XPS. Un chapitre est consacré au développement de bibliothèques de contrôles personnalisés. Les exemples de code utilisent C# et XAML. Ils proviennent soit d’applications exemples disponibles en téléchargement sur www.editions-eni.fr, soit de la bibliothèque WPF open-source Perspective disponible sur le site Codeplex. | Note de contenu : |
Chapitre 1 Fondamentaux
1. Introduction 15
2. Objectifs de WPF 18
2.1 Modernisation et unification des techniques de développement visuel 19
2.2 Exploitation de la puissance graphique des machines modernes 19
2.3 Meilleure intégration de l'infographie dans le processus de développement 20
2.4 Déploiement simplifié et sécurisé 21
3. Outils de développement et de conception visuelle 21
3.1 Visual Studio 2010 21
3.2 SDK Windows 23
3.3 Expression 23
3.3.1 Expression Design 23
3.3.2 Expression Blend 24
4. XAML 25
4.1 Instanciation d'objets .NET 25
4.2 Initialisation de propriété 28
4.2.1 Syntaxe attribut 28
4.2.2 Syntaxe élément-propriété 28
4.2.3 Propriétés implicites 29
4.3 Événements 29
5. Principales fonctionnalités de WPF 30
5.1 Graphisme 2D 30
5.2 Système de disposition 31
5.3 Transformations 32
5.4 Animation 33
5.5 Graphisme 3D 34
5.6 Contenus multimédia 35
5.6.1 Texte et documents 35
5.6.2 Audio et vidéo 36
5.6.3 Image 36
5.7 Effets 37
5.8 Contrôles 38
5.9 Ressources 40
5.10 Séparation du fonctionnel et du visuel 41
5.10.1 Styles 41
5.10.2 Templates 42
5.11 Databinding 42
6. Modèle applicatif 43
6.1 Structure d'un projet WPF 44
6.1.1 Création manuelle d'un projet WPF 44
6.1.2 Création d'un projet WPF par l'assistant 46
6.2 Fenêtres et pages 49
6.3 Classes fondamentales 52
6.3.1 FrameworkElement 52
6.3.2 Freezable et Animatable 53
6.4 Ressources 54
6.4.1 Définition de ressources 55
6.4.2 Utilisation de ressources 56
6.4.3 Fusion de dictionnaires 58
6.5 Styles 59
6.5.1 Définition de valeur de propriétés 59
6.5.2 Définition d'un style 59
6.5.3 Utilisation d'un style 60
6.5.4 Styles implicites 60
6.5.5 Héritage de style 61
6.5.6 Définition d'événement 61
6.5.7 Déclencheurs 62
6.6 Ressources binaires 63
6.7 URI Pack 64
6.7.1 Fichiers de ressources 64
6.7.2 Fichiers de contenu 64
6.7.3 Fichiers du site d'origine 64
6.7.4 Syntaxe URI pack 65
6.7.5 Chargement de fichier par URI pack 66
7. Mécanisme d'affichage 67
7.1 Généralités 67
7.2 Mode d'affichage 69
Chapitre 2 Graphisme 2D
1. Introduction 71
2. Système de coordonnées 2D 71
3. Panneaux et système de disposition 75
3.1 Principe 75
3.2 Canvas 77
3.3 StackPanel 78
3.4 Grid 79
3.5 DockPanel 83
3.6 WrapPanel 85
3.7 Propriétés impactant sur la disposition 86
3.7.1 Dimensions 86
3.7.2 Marges 86
3.7.3 Alignement 87
3.7.4 ZIndex 88
3.7.5 Visibilité 89
3.7.6 Transformations 90
4. Autres conteneurs 90
4.1 Border 90
4.2 Viewbox 91
4.3 ScrollViewer 92
5. Typographie 93
5.1 Qualité d'affichage 93
5.2 Propriétés de police 94
5.3 TextBlock 95
5.4 Typographie avancée 96
6. Techniques graphiques de base 97
6.1 Formes géométriques basiques 97
6.1.1 Shape 97
6.1.2 Line 99
6.1.3 Polyline 100
6.1.4 Rectangle et Ellipse 101
6.1.5 Polygon 103
6.1.6 Path (tracé) et géométries 105
6.1.7 Arc d'ellipse 109
6.1.8 Courbe de Bézier 111
6.1.9 Définition de tracé par mini-langage 113
6.1.10 Étirement (stretching) 115
6.2 Drawing 117
6.3 Couleur et transparence 121
6.3.1 Color 121
6.3.2 Opacity 122
6.4 Pinceaux 122
6.4.1 Pinceau uni 123
6.4.2 Pinceaux dégradés 123
6.4.3 Pinceau image 125
6.4.4 Pinceau Visual 125
6.4.5 Pinceau Drawing 126
6.4.6 Mosaïque 126
7. Transformations 128
7.1 Types de transformations 129
7.1.1 Déplacement 130
7.1.2 Mise à l'échelle 130
7.1.3 Rotation 130
7.1.4 Inclinaison 131
7.1.5 Regroupement 131
7.1.6 Transformation matricielle 132
7.2 Application d'une transformation 134
7.2.1 Transformation d'un FrameworkElement 134
7.2.2 Autres applications des transformations 135
8. Aspects avancés 135
8.1 Arrondi de disposition et alignement des pixels 135
8.2 BitmapCache 136
Chapitre 3 Graphisme 3D
1. Introduction 139
2. Tour d'horizon 140
2.1 2D et 3D 140
2.1.1 Système de coordonnées 141
2.1.2 Point de vue 142
2.1.3 Éclairage 142
2.2 Un atelier pour découvrir la 3D 143
2.2.1 Workshop3D 143
2.2.2 Repère visuel des coordonnées 145
2.2.3 Position et taille des éléments 146
2.2.4 Matière 147
2.2.5 Placage de texture 148
3. Création de modèles 3D 149
3.1 Modèle objet 149
3.2 Matière 151
3.2.1 Surface mate 152
3.2.2 Surface lumineuse 153
3.2.3 Combinaison de matières 153
3.2.4 Réflexion spéculaire 154
3.3 Géométrie 3D 155
3.3.1 Positions et triangles 155
3.3.2 Normales 158
3.3.3 Placage de texture 159
3.4 ModelVisual3D 161
3.5 UIElement3D 163
4. Mise en oeuvre de modèles 3D 166
4.1 Intégration avec la 2D 166
4.2 Caméra 167
4.3 Éclairage 171
5. Transformations 3D 176
5.1 Types de transformations 177
5.1.1 Déplacement 177
5.1.2 Mise à l'échelle 178
5.1.3 Rotation 178
5.1.4 Regroupement 178
5.1.5 Transformation matricielle 179
5.2 Transformation sur un Visual3D 180
5.3 Transformation sur un Model3D 181
5.4 Transformation sur un Point3D ou sur un Vector3D 181
Chapitre 4 Animation
1. Introduction 183
2. Principe 184
2.1 Types d'animation 184
2.2 Animation basique 185
2.3 Storyboard 185
2.4 PropertyPath 188
3. Séquences 188
3.1 Imbrication 190
3.2 Durée 190
3.3 Moment relatif de démarrage 190
3.4 Répétition 191
3.5 Réversibilité 191
3.6 Facteur d'accélération 191
3.7 Vitesse 192
3.8 Comportement en fin de séquence 192
3.9 Exemple 192
4. Contrôle d'une animation par le code 196
4.1 Contrôle par un Storyboard 196
4.2 Animation locale 197
4.3 Contrôle par une horloge 198
5. Animations réalistes 200
5.1 Principe 200
5.2 Mode d'interpolation 204
5.3 Interpolation personnalisée 206
6. Animations KeyFrame 209
6.1 Principe 209
6.2 Interpolation discrète 210
6.3 Interpolation Spline 211
6.4 Interpolation Easing 213
7. Animation sur tracé 214
8. Édition d'animation avec Expression Blend 4 216
Chapitre 5 Multimédia
1. Introduction 219
2. Documents et impression 219
2.1 Documents dynamiques (FlowDocument) 220
2.1.1 Visualisation 220
2.1.2 Mise en page 223
2.1.3 Structure du document 224
2.1.4 Block : organisation du contenu 226
2.1.5 Inline : contenu du document 227
2.1.6 Exemple de document basique 229
2.1.7 Paragraphe 230
2.1.8 Liste 231
2.1.9 Tableau 232
2.1.10 Floater et Figure 235
2.1.11 Intégration d'objet UIElement 237
2.2 Inline et TextBlock 238
2.3 Effets de texte 239
2.4 Documents fixes (FixedDocument) 240
2.4.1 Le format XPS 240
2.4.2 XpsDocument et FixedDocument 242
2.4.3 Création d'un objet FixedDocument 243
2.4.4 Visualisation 244
2.4.5 Création d'un fichier XPS 245
2.4.6 Ouverture d'un fichier XPS existant 245
2.4.7 Publication Web d'un fichier XPS 246
2.5 Impression 246
2.5.1 Impression d'un document fixe 247
2.5.2 Impression d'un objet Visual 247
2.5.3 Choix d'imprimante par l'utilisateur 248
2.5.4 Impression d'un document dynamique 250
3. Images bitmap 250
3.1 BitmapSource 251
3.2 Lecture et affichage d'image 252
3.2.1 Élément Image 252
3.2.2 BitmapImage 253
3.3 Encodage et décodage 254
3.4 Écriture de bitmap 255
3.4.1 RenderTargetBitmap 255
3.4.2 WriteableBitmap 256
3.5 Opérations sur les images 258
3.5.1 Recadrage 258
3.5.2 Conversion de format d'image 259
3.5.3 Rotation ou mise à l'échelle 260
3.6 Métadonnées 260
4. Audio et vidéo 261
4.1 MediaElement 261
4.1.1 Représentation visuelle 261
4.1.2 Chargement du flux 262
4.1.3 Lecture et contrôle 262
4.1.4 Exemple 263
4.2 Mode horloge 266
4.2.1 Chargement et contrôle 266
4.2.2 Synchronisation avec une animation 268
5. Opérations graphiques 270
5.1 Découpe (clipping) 270
5.2 Masque d'opacité 272
5.3 Effets graphiques 273
5.3.1 Ombre portée (DropShadowEffect) 274
5.3.2 Effet de flou (BlurEffect) 275
5.3.3 Effets personnalisés (ShaderEffect) 276
5.3.4 Création d'effets avec Perspective FX 277
5.3.5 Programmation d'effets en HLSL 280
5.3.6 Pixel Shader 3.0 284
Chapitre 6 Contrôles et interactivité
1. Introduction 287
2. Contrôles WPF 287
2.1 Composition visuelle 288
2.1.1 Templates 288
2.1.2 Imbrication de contenu 288
2.1.3 Arbre logique et arbre visuel 289
2.1.4 FrameworkContentElement 290
2.2 Control 290
2.3 ContentControl : un seul objet contenu 292
2.4 ItemsControl : plusieurs objets contenus 294
2.5 Étendue de valeurs 295
2.5.1 Barre de progression 296
2.5.2 Slider 297
2.5.3 Fader et Knob 297
2.6 Saisie de texte 298
2.7 Décorateurs 299
3. Personnalisation du visuel d'un contrôle 300
3.1 Template par défaut 301
3.2 Structure visuelle du template 302
3.3 Gestion des états visuels 304
3.3.1 États 304
3.3.2 Transitions 307
3.4 Utilisation des déclencheurs 308
3.5 Parties nommées 309
4. Gestion de l'interactivité 310
4.1 Événements routés 310
4.1.1 Routage 310
4.1.2 Partage automatique de gestionnaire d'événements 313
4.1.3 Handled 314
4.1.4 Source et OriginalSource 315
4.1.5 Gestionnaire de classe 315
4.2 Gestion du focus 316
4.2.1 Focus clavier 316
4.2.2 Focus logique 319
4.3 Clavier 319
4.4 Entrée de texte indépendante du périphérique 321
4.5 Souris 321
4.5.1 Survol par la souris 322
4.5.2 Boutons de la souris 322
4.5.3 Molette de la souris 324
4.5.4 Capture de la souris 324
4.5.5 Position de la souris 325
4.6 Toucher 326
4.6.1 Événements tactiles 326
4.6.2 Capture tactile 329
4.6.3 Manipulations 330
4.6.4 Inertie 333
4.6.5 Contrôles à défilement tactile 334
4.6.6 Contrôles Surface 335
5. 3D interactive 338
5.1 Modèles 3D interactifs 338
5.2 Projection 3D d'éléments 2D 339
6. Commandes 342
6.1 ICommand 342
6.2 Commandes routées 344
6.3 Déclenchement d'une commande 346
6.3.1 Déclenchement par le code 346
6.3.2 Déclenchement par InputGesture 346
6.3.3 Déclenchement par ICommandSource 347
6.4 Réponse à une commande 348
6.4.1 Réponse à une commande non routée 348
6.4.2 Réponse à une commande routée 348
Chapitre 7 Gestion de données
1. Introduction 351
2. Architecture Model-View-ViewModel 352
2.1 Principe 352
2.2 Mise en oeuvre 354
2.2.1 Entités 354
2.2.2 Model (modèle) 355
2.2.3 ViewModel 357
2.2.4 View (vue) 359
3. Databinding 360
3.1 Principe 360
3.2 Objet source 362
3.3 Valeur source 364
3.4 Fournisseur d'objet source 364
3.5 Objet cible et propriété cible 366
3.6 Mode de binding 367
3.7 Notification du changement de valeur 367
3.7.1 INotifyPropertyChanged 367
3.7.2 Dependency properties 369
3.8 Conversions 369
3.8.1 Principe 369
3.8.2 Simplification 371
3.8.3 MultiBinding 372
3.9 Validation et mise à jour 373
3.9.1 Création d'une règle de validation 373
3.9.2 Classes de validation prédéfinies 374
3.9.3 Notification d'erreur de validation 375
3.9.4 Mode de mise à jour 378
3.10 Liaison sur des collections 378
3.10.1 Principe 378
3.10.2 INotifyCollectionChanged 379
3.10.3 Listes de sélection 379
3.10.4 Virtualisation 380
3.10.5 Personnalisation du visuel d'une liste 381
3.10.6 Personnalisation visuelle avancée 383
3.10.7 Scénario maître-détail 385
3.11 Vues de collection 386
3.11.1 Modèle objet 386
3.11.2 Navigation 387
3.11.3 Filtre 389
3.11.4 Tri 390
3.11.5 Regroupement 392
3.12 DataGrid 394
3.12.1 Architecture et fonctionnalités 394
3.12.2 Colonnes personnalisées 397
3.12.3 Annulation de la saisie 401
3.12.4 Détail de ligne 402
Chapitre 8 Classes personnalisées
1. Introduction 405
2. Bibliothèque de classe 405
3. Espaces de noms XML 406
4. Classes de base 408
4.1 Contrôle utilisateur 408
4.2 Classes WPF 409
4.3 Comportements (behaviors) 410
5. Dependency property 411
5.1 Principe 411
5.2 Wrapper CLR 412
5.3 Valeur d'une dependency property 413
5.4 Implémentation d'une dependency property 414
5.5 Utilisation d'une dependency property 416
5.6 Métadonnées 417
5.6.1 Principe 417
5.6.2 Valeur par défaut 418
5.6.3 Callback de validation 418
5.6.4 Callback de changement de valeur 418
5.6.5 Callback de contrainte 419
5.6.6 Rafraîchissement de valeur 420
5.6.7 Configuration de dependency property 420
5.6.8 Surcharge de métadonnées 421
5.7 Partage de propriété 422
5.8 Propriété en lecture seule 422
5.9 Propriété attachée 424
5.9.1 Implémentation d'une propriété attachée 424
5.9.2 Utilisation d'une propriété attachée 426
5.10 Propriété héritable 426
6. Événements routés 427
6.1 Implémentation 427
6.2 Événements attachés 428
6.2.1 Principe 428
6.2.2 Implémentation 429
7. Panneaux personnalisés 429
8. Figures personnalisées 436
8.1 Personnalisation du visuel d'un élément 436
8.1.1 Principe 436
8.1.2 Affichage de texte 439
8.2 Shape personnalisé 442
9. Contrôles personnalisés 444
9.1 Principe 444
9.2 Template 446
9.2.1 Support des thèmes Windows 446
9.2.2 DefaultStyleKey 447
9.2.3 Interaction avec le template 447
9.2.4 ComponentResourceKey 448
Chapitre 9 Aspects avancés du modèle applicatif
1. Introduction 449
2. Modèle applicatif 449
2.1 La classe Application 449
2.2 Fenêtres 450
2.2.1 Cycle de vie 450
2.2.2 Position 451
2.2.3 Taille et bordures 452
2.3 Boîtes de dialogue modales 453
2.3.1 Boîtes de dialogue personnalisées 453
2.3.2 Boîtes de dialogue standard 455
3. Ergonomie navigationnelle 456
3.1 Principe 456
3.1.1 Pages 456
3.1.2 Navigation relative 458
3.1.3 Autres cibles de navigation 459
3.2 Classe Page 459
3.3 Conteneurs de navigation 459
3.3.1 NavigationWindow 459
3.3.2 Frame 460
3.4 Fichier XAML isolé 461
3.5 Service de navigation 463
3.5.1 NavigationService 463
3.5.2 Cycle de vie des pages 464
3.5.3 Gestion de l'état 464
4. Intégration à la barre des tâches de Windows 7 465
4.1 Jauge dans le bouton 465
4.2 Notification dans le bouton 466
4.3 Vignette interactive 467
4.4 Jump list 469
5. Gestion de skins 471
6. Internationalisation 475
6.1 LocBaml 476
6.2 Ressources binaires String 476
Index 481
| En ligne : | https://www.amazon.fr/WPF-D%C3%A9veloppez-applications-Windows-%C3%A9dition/dp/2 [...] | Permalink : | ./index.php?lvl=notice_display&id=15119 |
|  |