WPF 4 et MultiTouch Les doigts dans le code 8 février 2011 Jonathan ANTOINE Consultant .NET, MVP Access-It Aurélien NORIE Application Development Manager Microsoft France
Access It IdF en quelques mots… Société de services, conseil / expertise, et formation, exclusivement sur les technologies Microsoft 20+ collaborateurs spécialisés sur les techno MS, dont 11 MVP Interventions en mode : Conseil, expertise, coaching et formation Réalisation, au forfait ou en Assistance Technique .NET Plateforme Applicative Framework et langages .Net, AZURE, Silverlight, WPF/Surface, VS/TFS, Windows Phone 7,… SQL Server (SSIS, SQL, SSAS, SSRS), PowerPivot, SharePoint & on-line, Office 365,… Collab. BI
Microsoft Services : Un accompagnement global de nos clients Architecture & Planning Planification Conseil et Projets Déploiement et adoption Support Optimisation et Opération Evaluation Développement Déploiement Stabilisation Opérations Support Premier Enterprise Strategy Consulting Services Division Services France 2010 180 Consultants 125 Technical Account Managers 190 Ingénieurs Support 17 Responsables de Mission 41 Partenaires référencés Division Services Monde 2010 82 pays couverts 18 000 employés 35 000 partenaires 44 langues parlées par nos ingénieurs www.microsoft.fr/services
Nos clients et partenaires sont particulièrement satisfaits par… Notre positionnement est d’intervenir sur les projets critiques et les technologies récentes Criticité du projet Maturité de la technologie Partenaires Notre engagement auprès de nos partenaires est : De leur assurer un transfert d’expertise, De leur apporter notre support sur les dernières technologies, De leur donner accès aux meilleures pratiques de mise en œuvre et de support. Nos clients et partenaires sont particulièrement satisfaits par… Le niveau d’engagement des consultants : 94% La gestion de l’équipe de projet : 92% Les compétences techniques des consultants : 91% La relation avec les équipes du client : 90%
Agenda Prérequis et historique Les différents modes d’interaction Les gestures Windows Le toucher simple Les manipulations Le système inertiel Conclusion
Windows 7 Multitouch .NET Interop Library Historique Vista MonoTouch Depuis Windows 7 MultiTouch WPF 3.5 Windows 7 Multitouch .NET Interop Library WPF 4.0 Intégré au Framework
Les contrôles de WPF 4 … prêts pour une utilisation tactile Combobox ContextMenu DataGrid ListBox ListView MenuItem TextBox ToolBar TreeView ScrollViewer
ScrollViewer PanningMode HorizontalOnly et VerticalOnly HorizontalFirst et VerticalFirst PanningDeceleration Vitesse à laquelle le défilement ralenti PanningRatio Ratio entre le défilement et le mouvement du doigt
Démo Tester sans matériel Multi-touch Vista sur Codeplex http://multitouchvista.codeplex.com Démo
Niveaux d’interaction Le bon Le mieux Le meilleur
Différentes méthodes WPF Gestures Touch simple Manipulations Inertie
Gestures Mouvement déclencheur d’action Intégré dans les applications Windows Unitaire et sans « combinaisons »
Gestures prédéfinies Translation
Gestures prédéfinies Zoom Rotation
Gestures prédéfinies Tapotement à deux doigts Pressé tapé
Utilisation des gestures dans une application WPF 3.5 Démo Utilisation des gestures dans une application WPF 3.5
Description de l’application réalisée Annonce Description de l’application réalisée
Touch « simple » Événements séquentiels Événements WPF routés TouchEnter TouchDown TouchMove TouchUp TouchLeave Événements séquentiels Événements WPF routés Données brutes
Ajout de touch simple à l’application Démo Ajout de touch simple à l’application
Manipulations Agrégation de plusieurs contacts Orientation Translation Expansion Agrandissement
Manipulations – cycle de vie ManipulationStarting ManipulationStarted ManipulationDelta ManipulationCompleted Activation à la demande Evénements routés sur tous les UIElement Un container de manipulation ManipulationDeltaEventArgs contient les valeurs intéressantes
ManipulationDelta Changements cumulatifs Changements depuis le dernier événement Expansion Mise à l’échelle Rotation Translation
Matrices de transformation Représentation mathématique des transformations : 6 valeurs en tableau (matrice) M1,1 M1,2 M2,1 M2,2 Offset X Y Permet de transformer un élément Rotation Mise à l’échelle Inclinaison Déplacement
Utilisation des manipulations dans notre application Démo Utilisation des manipulations dans notre application
Système inertiel Vidéo de ventriglisse ?
Système inertiel Simule un comportement physique Possible sur tous les UIElement Prend le relai des manipulations Interfaces dites naturelles
ManipulationInertiaStarting ReportBoundaryFeedback Système inertiel ManipulationDelta ManipulationInertiaStarting ManipulationCompleted Activation automatique Utilise le même ManipulationDelta Configurable : MapulationInertiaStarting
Inertie - configuration Configuration au dernier contact ExpansionBehavior, RotationBehavior, TranslationBehavior Soit la valeur finale, soit la « dé-célération » Informations sur la manipulation passée Point de pivot
Inertie - utilisation Même méthode de traitement que la manipulation IsInertial : utilisateur ou système inertiel Stopper l’inertie via la méthode Complete Sortie de route : ReportBoundaryFeedback
Ajout du système inertiel à l’application Démo Ajout du système inertiel à l’application
Conclusion (Très) Simple à mettre en place Pas besoin de connaissances préalables Intégré entièrement en WPF 4.0
Liens intéressants MSDN Multitouch Vista sur Codeplex Nos blogs Surface 2.0 Toolkit
MSDN et TechNet : l’essentiel des ressources techniques à portée de clic Portail administration et infrastructure pour informaticiens Portail de ressources technique pour développeurs http://technet.com http://msdn.com
Evénement tactiles