Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Développement avec WPF

116 views

Published on

Microsoft Open Days 2006 : Développement avec WPF

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Développement avec WPF

  1. 1. Open Days 2006 Développement Windows Presentation Foundation Olivier Dewit – MVP C# - www.odewit.net Patrice Lamarche – MVS – http://blogs.labo-dotnet.com/patrice
  2. 2. Open Days 2006 Agenda Objectif de la session : clés pour découvrir WPF Plan  Objectifs de WPF  Contrôles  Styles  Transformations  Animations  Applications
  3. 3. Open Days 2006 WinFX Extension de .NET  Windows Presentation Foundation (WPF)  Speech Integration  Windows Communication Foundation (WCF)  WorkFlow Foundation Runtime installable sur  XP SP2  Server 2003 SP1  Vista
  4. 4. Open Days 2006 IHM : état des lieux Retard visuel de Windows / concurrence Utilisation massive d’images dans les IHM Multimédia Technologies nombreuses :  Client : GDI, Direct3D  Web : HTML, CSS, (Javascript), Ajax, Flash Limites de GDI Variété des résolutions d’écran
  5. 5. Open Days 2006 WPF : objectifs Unification et modernisation technique  Interface utilisateur  Contenu multimédia  Gestion de document • XPS (Xml Paper Specification) : consultation, impression, protection Affichage vectoriel Effets graphiques  Transformations  Animations  3D Universalité  Applications Windows (installées)  Applications Web  WPF/E (Everywhere) : multiplate-forme
  6. 6. Open Days 2006 Application HealthCare
  7. 7. Open Days 2006 Collaboration designer-développeur Séparation fonction / présentation XAML, outils
  8. 8. Open Days 2006 Architecture
  9. 9. Open Days 2006 Contrôles WPF • Visual • UIElement • FrameworkElement • Shape • Control • ContentControl • ItemsControls • TextBox • Panel • Image • MediaElement (vidéo) • TextBlock, DocumentViewer, SinglePageViewer • Viewport3D
  10. 10. Open Days 2006 ContentControl Peuvent contenir tout objet ou contrôle  Propriété Content : object Classes héritées  Window  Frame  Label  Button  RadioButton  Expander (Headered)  GroupBox (Headered)  ToolTip  ScrollViewer (conteneur de défilement)  TabItem (Headered)  ListBoxItem • ComboBoxItem • ListViewItem
  11. 11. Open Days 2006 ItemsControl Listes d’éléments Propriété Items : ItemCollection (UIElement) Classes héritées  Menu / MenuItem (Headered)  TreeView / TreeViewItem (Headered)  ComboBox  ListBox  TabControl  ToolBar (Headered)  StatusBar
  12. 12. Open Days 2006 Conteneurs et disposition Canvas : positionnement par coordonnées X, Y Grid : positionnement tabulaire (ligne / colonne) DockPanel : positionnement relatif automatique (Top, Left, Right, Bottom) StackPanel : empilement de gauche à droite ou de haut en bas WrapPanel : en ligne avec retours automatiques InkCanvas : saisie au stylet (Tablet PC) Etc.
  13. 13. Open Days 2006 Contrôles : caractéristiques Contrôle = fonction  Apparence = Template Dependency Properties  Acquisition automatique de valeur selon l’environnement Propriétés attachées  Grid.Row / Grid.Column Evénements routés (routed events)  Captables à tous les nœuds de l’arbre de composition des contrôles  Bubbling : du contrôle source vers ses parents  Tunneling : des parents vers le contrôle source • Préfixe Preview (émis avant son pendant Bubbling) UserControl CustomControl
  14. 14. Open Days 2006 XAML Moteur d’instanciation automatique de classe  Sérialisation XML de graphes d’objets  WPF : description d’IHM Facile à apprendre, à écrire et à relire Séparation présentation / logique applicative Button b1 = new Button(); b1.Content = "OK"; b1.Background = new SolidColorBrush(Colors.LightBlue); b1.Width = 100; <Button Width="100px"> OK <Button.Background> LightBlue </Button.Background> </Button> Dim b1 As New Button b1.Content = "OK" b1.Background = New SolidColorBrush(Colors.LightBlue) b1.Width = 100
  15. 15. Open Days 2006 Contrôles WPF
  16. 16. Open Days 2006 Ressources, styles et templates Contrairement au développement API Win32, WPF permet de réellement modifier l’apparence des contrôles =>Utilisation des styles Contrairement à ce qu’indique Microsoft les styles sont très différents des styles CSS dans le monde web
  17. 17. Open Days 2006 Styles WPF Vs CSS Les styles css ne sont pas forcément mappés avec le nom des balises/attributs HTML  Ex: Font-family Les styles WPF permettent de réellement appliquer un style aux contrôles  Aucune limite Possibilité de redéfinir l’affichage d’un contôle  Sur-définition du template de base
  18. 18. Open Days 2006 Styles et Templates
  19. 19. Open Days 2006 Transformations TranslateTransform RotateTransform ScaleTransform SkewTransform MatrixTransform : personnalisation TransformGroup
  20. 20. Open Days 2006 Animations StoryBoard  TargetName  TargetProperty Animations de base  ColorAnimation  PointAnimation  DoubleAnimation KeyFrames
  21. 21. Open Days 2006 Transformations et animations
  22. 22. Open Days 2006 Modèles d’application WPF 1 modèle de développement pour 3 modèles d’application Application SDI autonome (installée) Application navigationnelle : collection de pages  Autonome (installée) • Conteneur = fenêtre applicative  Xaml Browser Application (.xbap) • Conteneur = IE Classe Application  Startup / StartupUri  MainWindow
  23. 23. Open Days 2006 Applications navigationnelles Classes  Page : contenu  NavigationWindow, Frame : conteneurs  NavigationService Navigation  Via URI : Hyperlink.NavigateUri  Via programme : Navigate() (conteneurs / NavigationService)  Journal : gestion de l’historique (NavigationWindow) • Programmable
  24. 24. Open Days 2006 Navigation structurée Objectifs :  Contrôle dynamique de la navigation  Transmission de données entre pages  Pour topologies de navigation intégrant des étapes • Assistants • Topologie adaptative (navigation dynamique via hub) PageFunction<TaskData>  Page retournant un résultat  La page appelante est notifiée du retour • OnReturn() déclenche l’événement Return sur la page appelante  Visuelle ou non-visuelle (hub)
  25. 25. Open Days 2006 WPF : Xaml Browser Application Online Only - Pas d’installation  Lancement via une URL  Déploiement ClickOnce transparent  Pas visible dans le menu Démarrer ou dans le panneau de configuration Exécution dans le navigateur  IE 6 ou IE 7 + WinFX Runtime Contexte d’exécution sécurisé  Pas de prompt de sécurité ou d’installation  .NET Code Access Security Intégration possible à un site Web  Interaction XAML (Frame) / HTML (IFrame)
  26. 26. Open Days 2006 Applications navigationnelles
  27. 27. Open Days 2006 WPF/E (WPF Everywhere) Multiplate-forme Sous-ensemble de WPF  Pas de 3D XAML + Javascript + runtime spécifique
  28. 28. Open Days 2006 Références et outils •Livre Programming Windows Presentation Foundation – Chris Sells et Ian Griffiths •Supports de la PDC05 – Section Presentation •Labs WPF CTP01 CTP02 •WinFX Runtime Components : runtime CTP01 CTP02 •Windows SDK : outils et documentation CTP01 CTP02 •Editeurs XAML XamlPad (SDK) Cider (extension Orcas pour VS 2005) CTP01 CTP02 Expression Interactive Designer CTP01 CTP02 Aurora - www.mobiform.com •Editeur intégrable à une application
  29. 29. Open Days 2006 Questions

×