SlideShare uma empresa Scribd logo
1 de 22
Windows Presentation Foundation Présenté par: M’Rabet Ihsen
Présentation de  Windows Presentation Foundation Vers une nouvelle génération d’interfaces graphiques
Windows Presentation Foundation - Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Le Framework .NET 3.0
Windows Presentation Foundation Une approche productive et unifiée de l’interface utilisateur, des médias et des documents afin de livrer une expérience utilisateur inégalée
Windows Presentation Foundation ,[object Object],[object Object],[object Object],[object Object],Une UX supérieure réunissant l’interface, les médias et les documents
L’architecture de WPF  Property Engine Input / Eventing System .NET Framework 2.0 Desktop Windows Manager Media Integration Layer DirectX Windows Vista Display Driver (LDDM) Windows Media Foundation Composition Engine Print Spooler Managed Unmanaged Application Services Deployment Services Databinding USER INTERFACE SERVICES XAML Accessibility Property System Input & Eventing BASE SERVICES DOCUMENT SERVICES Packaging Services XPS Documents Animation 2D 3D Audio Imaging Text Video Effects Composition Engine MEDIA INTEGRATION LAYER Controls Layout Windows Presentation Foundation XPS Viewer
Productivité Développeur-Designer ,[object Object],[object Object],[object Object],Les designers conçoivent les UI ,[object Object],Et les développeurs ajoute la logique métier
XAML ou la programmation déclarative ,[object Object],[object Object],[object Object],[object Object],<Button Width=&quot;100&quot;> OK <Button.Background> LightBlue </Button.Background> </Button> XAML Button b1 = new Button(); b1.Content = &quot;OK&quot;; b1.Background = new SolidColorBrush(Colors.LightBlue); b1.Width = 100; C# Dim b1 As New Button b1.Content = &quot;OK&quot; b1.Background = New _   SolidColorBrush(Colors.LightBlue) b1.Width = 100 VB.NET
Windows Presentation Foundation
Les contrôles ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Les styles ,[object Object],[object Object],<Style x:Key=&quot;Slider_RepeatButton&quot; TargetType=&quot;{x:Type RepeatButton}&quot;> <Setter Property=&quot;OverridesDefaultStyle&quot; Value=&quot;True&quot; /> <Setter Property=&quot;IsTabStop&quot; Value=&quot;false&quot; /> <Setter Property=&quot;Focusable&quot; Value=&quot;false&quot; /> <Setter Property=&quot;Template&quot;> <Setter.Value> <ControlTemplate TargetType=&quot;{x:Type RepeatButton}&quot;> <Border Background=&quot;Transparent&quot; /> </ControlTemplate> </Setter.Value> </Setter> </Style>
Les Templates ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Templated  Button
Texte et Documents ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Audio et Video ,[object Object],[object Object],<Border Width=&quot;400&quot;  BorderBrush=&quot;Green&quot;  BorderThickness=&quot;9&quot;> <StackPanel> <MediaElement Source=&quot;aero.wmv&quot; /> <Button>Hello</Button> </StackPanel> </Border>
Data Binding ,[object Object],[object Object],[object Object],[object Object],UI & Databinding <StackPanel> <Label>Select A Customer</Label> <ListBox  Name=&quot;myListBox&quot; Background=&quot;HoneyDew&quot; ItemsSource=&quot;{Binding  {StaticResource myDataSource}}&quot;  </ListBox> </StackPanel> Cible Source Dependency Object Object Dependency Property Property TwoWay OneWay OneWayToSource
Les Animations / Transformations < StackPanel> <StackPanel.Triggers> <EventTrigger RoutedEvent=“Button.Click&quot;> <EventTrigger.Actions> <BeginStoryboard> <BeginStoryboard.Storyboard> <Storyboard> <ColorAnimation To=&quot;Yellow&quot; Duration=&quot;0:0:0.5“ Storyboard.TargetName=&quot;TheBrush&quot;  Storyboard.TargetProperty=&quot;Color&quot; /> <DoubleAnimation To=&quot;45&quot; Duration=&quot;0:0:2&quot; Storyboard.TargetName=&quot;LowerEllipseTransform&quot;  Storyboard.TargetProperty=&quot;Angle&quot; /> ... </StackPanel.Triggers> </StackPanel> ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
WPF et la 3D ,[object Object],[object Object],[object Object]
Intéropérabilité WindowsForms / WPF ,[object Object]
Applications navigateurs ,[object Object],[object Object],[object Object],[object Object],[object Object]
Conclusions Fournir des expériences utilisateur innovantes Améliorer la productivité Développeur-Designer Permettre un déploiement applicatif fléxible Accroitre la base de code et les techniques existantes
Merci

Mais conteúdo relacionado

Mais procurados

KSUG 스프링캠프 2019 발표자료 - "무엇을 테스트할 것인가, 어떻게 테스트할 것인가"
KSUG 스프링캠프 2019 발표자료 - "무엇을 테스트할 것인가, 어떻게 테스트할 것인가"KSUG 스프링캠프 2019 발표자료 - "무엇을 테스트할 것인가, 어떻게 테스트할 것인가"
KSUG 스프링캠프 2019 발표자료 - "무엇을 테스트할 것인가, 어떻게 테스트할 것인가"용근 권
 
Automação e virtualização de serviços
Automação e virtualização de serviçosAutomação e virtualização de serviços
Automação e virtualização de serviçosElias Nogueira
 
Create rest webservice for oracle public api using java class via jdeveloper
Create rest webservice for oracle public api using java class via jdeveloperCreate rest webservice for oracle public api using java class via jdeveloper
Create rest webservice for oracle public api using java class via jdevelopershravan kumar chelika
 
The Functional Programming Toolkit (NDC Oslo 2019)
The Functional Programming Toolkit (NDC Oslo 2019)The Functional Programming Toolkit (NDC Oslo 2019)
The Functional Programming Toolkit (NDC Oslo 2019)Scott Wlaschin
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Ido Flatow
 
좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴
좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴
좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴원희 정
 
WebRTC getStats - WebRTC Meetup Tokyo 5 LT
WebRTC getStats - WebRTC Meetup Tokyo 5 LTWebRTC getStats - WebRTC Meetup Tokyo 5 LT
WebRTC getStats - WebRTC Meetup Tokyo 5 LTmganeko
 
Best Practices in Qt Quick/QML - Part I
Best Practices in Qt Quick/QML - Part IBest Practices in Qt Quick/QML - Part I
Best Practices in Qt Quick/QML - Part IICS
 

Mais procurados (14)

KSUG 스프링캠프 2019 발표자료 - "무엇을 테스트할 것인가, 어떻게 테스트할 것인가"
KSUG 스프링캠프 2019 발표자료 - "무엇을 테스트할 것인가, 어떻게 테스트할 것인가"KSUG 스프링캠프 2019 발표자료 - "무엇을 테스트할 것인가, 어떻게 테스트할 것인가"
KSUG 스프링캠프 2019 발표자료 - "무엇을 테스트할 것인가, 어떻게 테스트할 것인가"
 
Automação e virtualização de serviços
Automação e virtualização de serviçosAutomação e virtualização de serviços
Automação e virtualização de serviços
 
Create rest webservice for oracle public api using java class via jdeveloper
Create rest webservice for oracle public api using java class via jdeveloperCreate rest webservice for oracle public api using java class via jdeveloper
Create rest webservice for oracle public api using java class via jdeveloper
 
JUnit Presentation
JUnit PresentationJUnit Presentation
JUnit Presentation
 
Unit Testing in Android
Unit Testing in AndroidUnit Testing in Android
Unit Testing in Android
 
Introduction à JPA (Java Persistence API )
Introduction à JPA  (Java Persistence API )Introduction à JPA  (Java Persistence API )
Introduction à JPA (Java Persistence API )
 
The Functional Programming Toolkit (NDC Oslo 2019)
The Functional Programming Toolkit (NDC Oslo 2019)The Functional Programming Toolkit (NDC Oslo 2019)
The Functional Programming Toolkit (NDC Oslo 2019)
 
Widgets in odoo
Widgets in odooWidgets in odoo
Widgets in odoo
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
 
Spring Batch
Spring BatchSpring Batch
Spring Batch
 
Presentation swagger
Presentation swaggerPresentation swagger
Presentation swagger
 
좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴
좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴
좋은 코드를 고민하는 주니어 개발자들을 위한 안드로이드 디자인 패턴
 
WebRTC getStats - WebRTC Meetup Tokyo 5 LT
WebRTC getStats - WebRTC Meetup Tokyo 5 LTWebRTC getStats - WebRTC Meetup Tokyo 5 LT
WebRTC getStats - WebRTC Meetup Tokyo 5 LT
 
Best Practices in Qt Quick/QML - Part I
Best Practices in Qt Quick/QML - Part IBest Practices in Qt Quick/QML - Part I
Best Practices in Qt Quick/QML - Part I
 

Destaque

MVVM par Karim PIerre Maalej
MVVM par Karim PIerre MaalejMVVM par Karim PIerre Maalej
MVVM par Karim PIerre MaalejCocoaHeads France
 
MVVM de A à Z
MVVM de A à ZMVVM de A à Z
MVVM de A à ZMicrosoft
 
MVVM - Model View ViewModel
MVVM - Model View ViewModelMVVM - Model View ViewModel
MVVM - Model View ViewModelDareen Alhiyari
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetFrédéric Vandenbriele
 
MVVM ( Model View ViewModel )
MVVM ( Model View ViewModel )MVVM ( Model View ViewModel )
MVVM ( Model View ViewModel )Ahmed Emad
 
Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...
Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...
Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...Alphorm
 
L'architecture MVVM avec KnockoutJS
L'architecture MVVM avec KnockoutJSL'architecture MVVM avec KnockoutJS
L'architecture MVVM avec KnockoutJSDavid Bottiau
 
Alphorm.com - Formation programmer en Visual Basic .NET
Alphorm.com - Formation programmer en Visual Basic .NETAlphorm.com - Formation programmer en Visual Basic .NET
Alphorm.com - Formation programmer en Visual Basic .NETAlphorm
 

Destaque (11)

Cours wpf avancé
Cours wpf avancéCours wpf avancé
Cours wpf avancé
 
MVVM par Karim PIerre Maalej
MVVM par Karim PIerre MaalejMVVM par Karim PIerre Maalej
MVVM par Karim PIerre Maalej
 
WPF MVVM
WPF MVVMWPF MVVM
WPF MVVM
 
MVVM
MVVMMVVM
MVVM
 
MVVM de A à Z
MVVM de A à ZMVVM de A à Z
MVVM de A à Z
 
MVVM - Model View ViewModel
MVVM - Model View ViewModelMVVM - Model View ViewModel
MVVM - Model View ViewModel
 
Accéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.NetAccéder au développement Dot.Net et Asp.Net
Accéder au développement Dot.Net et Asp.Net
 
MVVM ( Model View ViewModel )
MVVM ( Model View ViewModel )MVVM ( Model View ViewModel )
MVVM ( Model View ViewModel )
 
Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...
Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...
Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...
 
L'architecture MVVM avec KnockoutJS
L'architecture MVVM avec KnockoutJSL'architecture MVVM avec KnockoutJS
L'architecture MVVM avec KnockoutJS
 
Alphorm.com - Formation programmer en Visual Basic .NET
Alphorm.com - Formation programmer en Visual Basic .NETAlphorm.com - Formation programmer en Visual Basic .NET
Alphorm.com - Formation programmer en Visual Basic .NET
 

Semelhante a Présentation WPF

Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Frédéric Queudret
 
Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2apratt72
 
CLaueR - AFUP PHP et Silverlight
CLaueR - AFUP PHP et SilverlightCLaueR - AFUP PHP et Silverlight
CLaueR - AFUP PHP et SilverlightChristophe Lauer
 
WebSphere Portal & Rich Internet Applications
WebSphere Portal & Rich Internet ApplicationsWebSphere Portal & Rich Internet Applications
WebSphere Portal & Rich Internet ApplicationsVincent Perrin
 
Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantSymfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantHugo Hamon
 
Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applicationsgoldoraf
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?GreenIvory
 
Nouveautés html5 et css3 dans internet explorer 10
Nouveautés html5 et css3 dans internet explorer 10Nouveautés html5 et css3 dans internet explorer 10
Nouveautés html5 et css3 dans internet explorer 10davrous
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flexdavid deraedt
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flexdavid deraedt
 
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatialesLes apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatialesGaëtan LAVENU
 
Asp.Net Dans Plateforme Ms
Asp.Net Dans Plateforme MsAsp.Net Dans Plateforme Ms
Asp.Net Dans Plateforme MsGregory Renard
 
La plateforme Web Microsoft
La plateforme Web MicrosoftLa plateforme Web Microsoft
La plateforme Web MicrosoftChristophe Lauer
 
Symposium n°7 : Plateforme Meteor
Symposium n°7 : Plateforme MeteorSymposium n°7 : Plateforme Meteor
Symposium n°7 : Plateforme MeteorArthurMaroulier
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSRenaud Dumont
 

Semelhante a Présentation WPF (20)

Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009
 
Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2Sybase Connect Atelier Power Builderv2
Sybase Connect Atelier Power Builderv2
 
Silverlight 4
Silverlight 4Silverlight 4
Silverlight 4
 
CLaueR - AFUP PHP et Silverlight
CLaueR - AFUP PHP et SilverlightCLaueR - AFUP PHP et Silverlight
CLaueR - AFUP PHP et Silverlight
 
WebSphere Portal & Rich Internet Applications
WebSphere Portal & Rich Internet ApplicationsWebSphere Portal & Rich Internet Applications
WebSphere Portal & Rich Internet Applications
 
Symfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 PerformantSymfony2 - Un Framework PHP 5 Performant
Symfony2 - Un Framework PHP 5 Performant
 
Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applications
 
Association 2 0
Association 2 0Association 2 0
Association 2 0
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?
 
Nouveautés html5 et css3 dans internet explorer 10
Nouveautés html5 et css3 dans internet explorer 10Nouveautés html5 et css3 dans internet explorer 10
Nouveautés html5 et css3 dans internet explorer 10
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flex
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flex
 
Association 2 0
Association 2 0Association 2 0
Association 2 0
 
Association 2 0
Association 2 0Association 2 0
Association 2 0
 
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatialesLes apports d'HTML5 pour l'interopérabilité des applications géospatiales
Les apports d'HTML5 pour l'interopérabilité des applications géospatiales
 
Asp.Net Dans Plateforme Ms
Asp.Net Dans Plateforme MsAsp.Net Dans Plateforme Ms
Asp.Net Dans Plateforme Ms
 
La plateforme Web Microsoft
La plateforme Web MicrosoftLa plateforme Web Microsoft
La plateforme Web Microsoft
 
RIA
RIARIA
RIA
 
Symposium n°7 : Plateforme Meteor
Symposium n°7 : Plateforme MeteorSymposium n°7 : Plateforme Meteor
Symposium n°7 : Plateforme Meteor
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJS
 

Mais de Cynapsys It Hotspot

Présentation data warehouse etl et olap
Présentation data warehouse etl et olapPrésentation data warehouse etl et olap
Présentation data warehouse etl et olapCynapsys It Hotspot
 
Introduction à la Business Intelligence
Introduction à la Business Intelligence Introduction à la Business Intelligence
Introduction à la Business Intelligence Cynapsys It Hotspot
 
Catalogue pfe cynapsys_2016_2017
Catalogue pfe cynapsys_2016_2017Catalogue pfe cynapsys_2016_2017
Catalogue pfe cynapsys_2016_2017Cynapsys It Hotspot
 
Présentation noura baccar " Innovation on Indoor GeoLocalization Applications...
Présentation noura baccar " Innovation on Indoor GeoLocalization Applications...Présentation noura baccar " Innovation on Indoor GeoLocalization Applications...
Présentation noura baccar " Innovation on Indoor GeoLocalization Applications...Cynapsys It Hotspot
 
Comment manager une équipe de 100 ingénieurs
Comment manager une équipe de 100 ingénieurs Comment manager une équipe de 100 ingénieurs
Comment manager une équipe de 100 ingénieurs Cynapsys It Hotspot
 
Automotive : Domaine & applications
Automotive : Domaine & applicationsAutomotive : Domaine & applications
Automotive : Domaine & applicationsCynapsys It Hotspot
 
Presentaion fpga µc µp quelles est la solution
Presentaion  fpga µc µp quelles est la solutionPresentaion  fpga µc µp quelles est la solution
Presentaion fpga µc µp quelles est la solutionCynapsys It Hotspot
 

Mais de Cynapsys It Hotspot (20)

Présentation data warehouse etl et olap
Présentation data warehouse etl et olapPrésentation data warehouse etl et olap
Présentation data warehouse etl et olap
 
Présentation Angular 2
Présentation Angular 2 Présentation Angular 2
Présentation Angular 2
 
Introduction à la Business Intelligence
Introduction à la Business Intelligence Introduction à la Business Intelligence
Introduction à la Business Intelligence
 
Catalogue pfe cynapsys_2016_2017
Catalogue pfe cynapsys_2016_2017Catalogue pfe cynapsys_2016_2017
Catalogue pfe cynapsys_2016_2017
 
Présentation noura baccar " Innovation on Indoor GeoLocalization Applications...
Présentation noura baccar " Innovation on Indoor GeoLocalization Applications...Présentation noura baccar " Innovation on Indoor GeoLocalization Applications...
Présentation noura baccar " Innovation on Indoor GeoLocalization Applications...
 
Comment manager une équipe de 100 ingénieurs
Comment manager une équipe de 100 ingénieurs Comment manager une équipe de 100 ingénieurs
Comment manager une équipe de 100 ingénieurs
 
Exposé 1 brevet med truki (1)
Exposé 1  brevet  med truki (1)Exposé 1  brevet  med truki (1)
Exposé 1 brevet med truki (1)
 
Exposé 2 brevet med truki (2)
Exposé 2  brevet  med truki (2)Exposé 2  brevet  med truki (2)
Exposé 2 brevet med truki (2)
 
Présentation nouveauté java7
Présentation nouveauté java7Présentation nouveauté java7
Présentation nouveauté java7
 
Cloud presentation
Cloud  presentationCloud  presentation
Cloud presentation
 
Présentation cloud computing
Présentation cloud computingPrésentation cloud computing
Présentation cloud computing
 
Présentation banc_ test
Présentation banc_ testPrésentation banc_ test
Présentation banc_ test
 
Automotive : Domaine & applications
Automotive : Domaine & applicationsAutomotive : Domaine & applications
Automotive : Domaine & applications
 
PRESENTATION CYN APSYS/MANTIS
PRESENTATION CYN APSYS/MANTISPRESENTATION CYN APSYS/MANTIS
PRESENTATION CYN APSYS/MANTIS
 
Formation traitement d_images
Formation traitement d_imagesFormation traitement d_images
Formation traitement d_images
 
Informatique Quantique
Informatique QuantiqueInformatique Quantique
Informatique Quantique
 
Informatique Quantique
Informatique QuantiqueInformatique Quantique
Informatique Quantique
 
Présentation Cryptographie
Présentation CryptographiePrésentation Cryptographie
Présentation Cryptographie
 
Presentaion fpga µc µp quelles est la solution
Presentaion  fpga µc µp quelles est la solutionPresentaion  fpga µc µp quelles est la solution
Presentaion fpga µc µp quelles est la solution
 
Comminucation v&nv
Comminucation v&nvComminucation v&nv
Comminucation v&nv
 

Présentation WPF

  • 1. Windows Presentation Foundation Présenté par: M’Rabet Ihsen
  • 2. Présentation de Windows Presentation Foundation Vers une nouvelle génération d’interfaces graphiques
  • 3.
  • 5. Windows Presentation Foundation Une approche productive et unifiée de l’interface utilisateur, des médias et des documents afin de livrer une expérience utilisateur inégalée
  • 6.
  • 7. L’architecture de WPF Property Engine Input / Eventing System .NET Framework 2.0 Desktop Windows Manager Media Integration Layer DirectX Windows Vista Display Driver (LDDM) Windows Media Foundation Composition Engine Print Spooler Managed Unmanaged Application Services Deployment Services Databinding USER INTERFACE SERVICES XAML Accessibility Property System Input & Eventing BASE SERVICES DOCUMENT SERVICES Packaging Services XPS Documents Animation 2D 3D Audio Imaging Text Video Effects Composition Engine MEDIA INTEGRATION LAYER Controls Layout Windows Presentation Foundation XPS Viewer
  • 8.
  • 9.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21. Conclusions Fournir des expériences utilisateur innovantes Améliorer la productivité Développeur-Designer Permettre un déploiement applicatif fléxible Accroitre la base de code et les techniques existantes
  • 22. Merci

Notas do Editor

  1. Windows Presentation Foundation (WPF), c’est une approche productive et unifiée de l’interface utilisateur, des médias et des documents afin de livrer une expérience utilisateur inégalée. C’est un ensemble de nouvelles APIs constituant la base du système d’affichage de Windows Vista.
  2. Création d’interfaces utilisateur innovatrices: Une approche unifiée de l’interface utilisateur, des médias et des documents Un moteur de rendu vectoriel et indépendant de la résolution; des accélérations matériel Un fonctionnement sur Windows Vista, Windows XP et Windows Server 2003 Réalisation d’un déploiement d’application flexible Ecriture du code une seule fois puis déploiement en tant qu’application simple ou application navigateur Accroissement de la base existante de code et de l’ensemble des techniques Interopérabilité avec les WindowsForms, Win32, DirectX, MFC, ActiveX Les connaissances acquises le Framework .NET, les langages .NET et l’IDE Visual Studio
  3. Le moteur de composition de WPF (en noir) est l’une des fonctionnalités révolutionnaires de WPF. Ce moteur offre la capacité d’avoir du contenu dans du contenu. Plus simplement, c’est grâce à lui que vous allez pouvoir avoir un objet 3D rotatif à l’intérieur d’un bouton, et en même temps avoir une vidéo projetée sur la surface de votre objet 3D. Le format XPS est un nouveau format qui permet de profiter pleinement des capacités de WPF (vectoriel, zoom, etc..) dans les documents.
  4. Si le design est important, les designers le sont aussi Enfin, si les designers sont importants, il faut faire en sorte que ce soit les premiers dans le processus de développement de logiciel. Avant, les designers concevaient les interfaces graphiques, et transmettaient leurs intentions aux développeurs sous formes d’images (PNG, JPG, et…). Le développeur devait alors essayer de reproduire le contenu de ces images dans son programme. Si le designer créait un contrôle non standard, le développeur devait alors coder ce contrôle en utilisant GDI+ ou une autre technologie. Ce processus fonctionnait mais était parfois long et couteux, et il arrivait que le résultat ne soit pas ce à quoi nous nous attendions. Afin d’améliorer la collaboration entre le développeur et le designer, Microsoft a créé le XAML, un format utilisé à la fois par les développeurs et les designers pour accéder aux fonctionnalités de WPF: le XAML est généré par le designer puis il est ensuite utilisé par le développeur. Autre avantage du XAML, la communication peut s’effectuer dans les 2 sens: il est tout à fait possible à un développeur de créer une interface graphique sobre (en XAML) puis de la délivrer à un designer qui va lui donner du style (et redéfinir son apparence). Microsoft a développé des outils, aussi bien coté designer que coté développeur: - Designer: La gamme Expression (Interactive Designer, Graphic Designer) - Développeur: Visual Studio (avec éditeur XAML, etc….)
  5. XAML = Extensive Application Markup Language Programmation déclarative: Applications développées en utilisant simplement des éléments XAML Code et contenu séparé: Forte collaboration entre le développeur et le designer Designers font le design, les développeurs ajoutent la logique métier Peut-être affiché dans un navigateur ou une application Le code XAML n’est pas lié à un type d’application mais sera affiché de la même façon que l’on développe une application navigateur ou une application Windows XAML va vous permettre de déclarer une hiérarchie d’objets, accompagnés de leur propriétés. Une fois compilé, votre XAML vous permet d’obtenir la définition d’un ou plusieurs objets.
  6. Contrôles de positionnement: Canvas: Positionnement exact grâce aux coordonnées X et Y DockPanel: Pour docker les éléments sans se soucier de leur coordonnées StackPanel: Pour placer les éléments de haut en bas ou de gauche à droite Grid: Positionnement dans une grille, à l’aide de lignes et colonnes
  7. Avec WPF, le contenu d’un contrôle n’est jamais vraiment définit: un bouton ne contiendra pas forcément du texte mais pourra contenir une image, etc… Les Templates sont utilisés pour définir quel sera le contenu d’un contrôle et de quelle façon ce contenu sera affiché: dans un bouton inséré dans un ListBoxItem, dans une image insérée dans un bouton, etc…. On a donc une hiérarchie des éléments, qui nous permet de définir le graph d’objets constituant nos contrôles.
  8. WPF supporte les polices ClearType qui fournissent une meilleure lisibilité et une meilleure compréhension du texte à vos utilisateur.
  9. WPF supporte la plupart des formats audio/vidéo exstants: WMV ASF MPEG AVI
  10. Data binding : Processus qui consiste à établir une connection entre l’interface utilisateur et la logique Dependency properties: Propriétés particulières auxquelles vous allez pouvoir: Appliquer un style DataBinder Animer Donner une valeur par défaut Etc.. Exemple de Dependency Property: Background ou FontSize
  11. Interopérabilité WPF-Windows Forms: Héberger un contrôle WPF dans une WindowsForms en utilisant un contrôle ElementHost Héberger un contrôle WindowsForms dans une application WPF en utilisant un contrôle WindowsFormsHost =&gt; Mixer les capacités de WPF et des WindowsForms pour augmenter l’expérience utilisateur