Windows Presentation Foundation avanc Partie 1 - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Windows Presentation Foundation avanc Partie 1

Description:

MVS et formateur au laboratoire .Net. Lebrun_thomas_at_hotmail.com http: ... Vous allez donc pouvoir modifier la fa on dont un contr le affiche son contenu ... – PowerPoint PPT presentation

Number of Views:102
Avg rating:3.0/5.0
Slides: 24
Provided by: mitsuru
Category:

less

Transcript and Presenter's Notes

Title: Windows Presentation Foundation avanc Partie 1


1
Windows Presentation Foundation avancé Partie 1
  • Mitsuru FURUTA Microsoft France
  • Relations techniques développeurs
  • mitsufu_at_microsoft.com http//blogs.microsoft.fr/
    mitsufu
  • Thomas LEBRUN
  • MVS et formateur au laboratoire .Net
  • Lebrun_thomas_at_hotmail.com http//morpheus.develo
    ppez.com

2
Sommaire
  • Les Contrôles WPF
  • Les Ressources
  • Les Styles
  • Les Templates
  • Les Triggers
  • Les Animations
  • Les Transformations
  • Le Texte
  • Le Binding
  • Les Applications Navigateurs
  • WPF et la 3D
  • Interop WPF/WindowsForms

3
Les contrôles WPF
  • La plupart des contrôles WindowsForms classiques
    sont disponibles avec WPF
  • Ils possèdent plusieurs caractéristiques
  • Propriétés
  • Evènements
  • Méthodes
  • DataBinding
  • Grâce à la propriété Content, on peut
    personnaliser le contenu dun contrôle
  • Un contrôle WPF ne contiendra plus seulement
  • que du texte mais pourra également contenir
  • dautres contrôles
  • Les contrôles WPF peuvent donc être décomposés
    sous
  • sous forme de graphes dobjets
  • Possibilité de créer des UserControl

4
Les ressources
  • La propriété Resources permet de définir les
    ressources qui seront utilisables par votre
    contrôle
  • Les ressources peuvent être locales (liées à un
    contrôle précis) ou globales (liées à un contrôle
    parent et utilisable par tout les contrôles
    enfants)
  • Par ressource, on entend
  • Les Styles
  • Les Templates
  • Les Animations
  • Les Transformations
  • Les sources de données
  • Etc

5
Les styles
  • Inspiré des styles utilisé dans le développement
    Web, les CSS
  • On définit les styles pour un type de contrôle
  • Les styles vous permettent de définir lapparence
    visuelle de vos contrôles
  • Vous définissez vos styles dans les ressources de
    votre contrôle

ltStyle TargetType"xType Button"
xKey"MonStyleDePolice"gt ltSetter
Property"Button.FontStyle" Value"Italic"
/gt ltSetter Property"Button.FontWeight"
Value"Bold" /gt ltSetter Property"Button.Foregrou
nd" Value"Red" /gt lt/Stylegt
6
Les templates
  • Les Templates définissent la structure de vos
    contrôles
  • Vous allez donc pouvoir modifier la façon dont un
    contrôle affiche son contenu
  • Les DataTemplate sont utilisés pour définir la
    représentation visuelle dun objet de données un
    objet de type Photo pourra être représenté
    visuellement
  • Utilisation des éléments ltControlTemplategt et
    ltDataTemplategt

7
Démo
  • Les Contrôles, les Styles et les Templates

8
Les triggers
  • Les Triggers permettent une meilleure
    interactivité entre votre application et
    lutilisateur
  • Ils sont déclenchés lorsquune condition
    spécifique est vraie
  • Les EventTrigger seront les plus utilisés
  • Le Trigger se déclenche lorsque lévènement
    indiqué survient
  • Ils sont utilisés avec les Styles et les
    Templates

ltStyle.Triggersgt ltTrigger Property"IsMouseOver"
Value"True"gt ltSetter Property"Button.Backgroun
d" Value"Red"/gt lt/Triggergt lt/Style.Triggersgt
9
Les animations
  • StoryBoard Regroupe des animations qui seront
    jouées à la demande
  • Les animations sont utilisées dans des
    StoryBoards, au moyen des propriétés
  • TargetName Indique la cible de votre animation
  • TargetProperty Indique quelle propriété
    doit-être animée
  • Les animations sont utilisées pour animer les
    propriétés (taille, couleur, etc) des objets

ltDoubleAnimation SpeedRatio"5"
Storyboard.TargetName"m_BoutonAnime"
Storyboard.TargetProperty"Width" From"0"
To"200" /gt
10
Les transformations
  • Utilisées pour donner plus de vie à vos
    applications
  • Permettent de transformer le rendu graphique dun
    contrôle
  • Egalement utilisées dans des StoryBoards grâce
    aux propriétés TargetName et TargetProperty
  • Plusieurs types sont disponibles
  • TranslateTransform Effectue une translation dun
    contrôle
  • RotateTransform Exécute la rotation dun
    contrôle
  • ScaleTransform Redimensionnement dun contrôle
  • MatrixTransform Permet de créer vos propres
    transformations
  • Vous pouvez tout à fait animer vos
    transformations !

11
Le texte
  • WPF utilise un affichage vectoriel pour un rendu
    idéal
  • Il existe de nombreux contrôles pour afficher du
    texte
  • Label
  • TextBlock
  • TextBox
  • Etc..
  • On peut modifier certaines propriétés pour
    changer le rendu
  • FontFamily Type de la police
  • FontSize Taille de la police
  • FontStyle Style de la police (italique, oblique,
    etc)
  • Certaines classes offertes par WPF permettent
    dafficher et de formater du texte, en utilisant
    des fonctions avancées telles que la pagination,
    la gestion des colonnes, la recherche de texte,
    etc..
  • FlowDocument
  • FlowDocumentReader
  • FlowDocumentPageViewer
  • Etc..

12
Démo
  • Les Triggers, les animations, les transformations
    et le texte

13
Le binding
  • Avec WPF, la propriété DataSource nexiste plus
    elle est remplacée par la propriété DataContext
  • DataContext Concept qui autorise les éléments
    enfants à hériter de linformation de lélément
    parent
  • Classe Binding
  • ElementName Spécifie quel contrôle sera la
    source de vos données
  • Path Indique quelle propriété utiliser pour
    effectuer le Binding
  • XPath Indique la requête XPath a effectuer sur
    la source de données (par exemple si vous
    utilisez un XmlDataProvider)

14
Le binding (2)
  • Si le Binding relie deux propriétés du même type,
    il ny a aucun problèmes.
  • Cependant, si les types sont différents (vous
    souhaitez par exemple lier une image à litem
    sélectionné dans une ListBox), vous devez
    utiliser un Converter
  • On doit alors implémenter linterface
    IValueConverter qui propose les méthodes
  • Convert Convertit un objet dans un type donné
  • ConvertBack Conversion dans le sens inverse

15
Démo
  • Le Binding

16
Démo
  • Cas pratique Et si on mixait un peu tout ça ?

17
Les applications navigateur
  • Xaml Browser Applications
  • Exécution en ligne uniquement, au travers dun
    navigateur Internet
  • Aucune installation nest nécessaire
  • Déploiement via ClickOnce
  • Ne nécessite que le Runtime WinFX
  • Ces applications sexécutent dans un  SandBox 
    (bac à sable)
  • Il sagit dun contexte sécurisé
  • Permet de navoir aucun prompt/avertissement de
    sécurité au niveau du déploiement/de lexécution

18
Les applications navigationnelles
  • Applications proposant des classes permettant la
    navigation au sein de lapplication
  • NavigationWindow
  • Page
  • PageFunction
  • Elles permettent également de conserver un
    historique des pages visitées dans lapplication
  • Il existe 2 catégories dapplications de ce type
  • Les Xaml Browser Applications (.xbap)
  • Les applications autonomes (WindowsForms)

19
Démo
  • Les applications navigateurs et les applications
    navigationnelles

20
WPF et la 3D
  • Viewport3D Conteneur 2D pour des
    graphismes/contrôles 3D
  • Pour définir ce que lon va afficher, on utilise
    un modèle ModelVisual3D
  • On utilise une caméra pour visualiser le modèle
    en 3D
  • On spécifie sa position, sa direction, son angle
    de vision
  • On pourra animer cette caméra pour donner
    limpression de bouger autour du modèle

21
Démo
  • WPF et la 3D

22
Interop WPF/WindowsForms
  • Nom de code du projet CrossBow
  • But Utiliser des contrôles WPF dans une
    application WindowsForms et inversement
  • Utilisation de lassembly WindowsFormsIntegration.
    dll
  • Contrôles WPF dans une applications WindowsForms
  • Utilisation dun contrôle ElementHost
  • Contrôles WindowsForms dans une application WPF
  • Utilisation dun contrôle WindowsFormsHost
  • Il existe cependant des contraintes (telle que
    lutilisation de la transparence) quil faut
    prendre en compte

23
Démo
  • Interop WPF/WindowsForms
Write a Comment
User Comments (0)
About PowerShow.com