présentation de windows presentation foundation vers une nouvelle génération dinterfaces...

Post on 04-Apr-2015

105 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Présentation de Windows Presentation Foundation

Vers une nouvelle génération d’interfaces graphiques

Windows Presentation Foundation - Agenda

• Windows Presentation Foundation• Les Bases• Le DataBinding• Les animations / Les transformations• La 3D• Interop WPF/WindowsForms• Applications navigateurs• Conclusion• Ressources

Windows Presentation Foundation

Le Framework .NET 3.0

Windows Presentation Foundation

Une approche productive et unifiée de Une approche productive et unifiée de

l’interface utilisateur, des médias et des l’interface utilisateur, des médias et des

documents afin de livrer une documents afin de livrer une

expérience utilisateur inégaléeexpérience utilisateur inégalée

Windows Presentation Foundation

• Création d’interfaces utilisateur innovatrices

• Augmentation de la productivité Designer-

Développeur

• Réalisation d’un déploiement d’application

flexible

• Accroissement de la base existante de code et de

l’ensemble des techniques

Une UX supérieure réunissant l’interface, les médias et les Une UX supérieure réunissant l’interface, les médias et les documentsdocuments

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

ManagedUnmanaged

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

AudioImaging

Text

VideoEffects

Composition Engine

MEDIA INTEGRATION LAYER

Controls

LayoutW

ind

ow

s P

rese

nta

tion

Fo

un

da

tion

XP

S V

iew

er

Productivité Développeur-Designer

• Outils Microsoft pour les Outils Microsoft pour les développeurs et les designersdéveloppeurs et les designers

• Programmation déclarative avec Programmation déclarative avec XAMLXAML

• Outils d’éditeurs tiers (Aurora de Outils d’éditeurs tiers (Aurora de Mobiform, ZAM 3D de Electric Rain)Mobiform, ZAM 3D de Electric Rain)Les designers conçoivent les UILes designers conçoivent les UI

Avec XAML, les Avec XAML, les

développeurs et les développeurs et les

designers peuvent affiner designers peuvent affiner

leur collaborationleur collaboration Et les développeurs ajoute la logique métierEt les développeurs ajoute la logique métier

XAML ou la programmation déclarative

XAML = Extensible Application Markup LanguageXAML = Extensible Application Markup Language

•Facilement utilisable, basé sur le XML•Code et contenu sont séparés•Peut-être affiché dans un navigateur ou une application

<Button Width="100"> OK <Button.Background> LightBlue </Button.Background></Button>

XAML

Button b1 = new Button();b1.Content = "OK";b1.Background = new SolidColorBrush(Colors.LightBlue);b1.Width = 100;

C#

Dim b1 As New Buttonb1.Content = "OK"b1.Background = New _ SolidColorBrush(Colors.LightBlue)b1.Width = 100

VB.NET

Windows Presentation Foundation

Windows Presentation Foundation

Les contrôles

• Windows Presentation Foundation fournit un nombre important de contrôles:– Button– Frame– Grid– ListBox– Etc..

• Certains contrôles (contrôles de date, NumericUpDown, ColorPicker) ne sont pas présents

• D’autres (Canvas, DockPanel, Grid, etc…) sont destinés au positionnement des éléments

Les styles

• Définissent l’apparence des éléments au sein de l’application

• Utilisation des Setter pour définir la propriété à modifier et sa valeur:

<Style x:Key="Slider_RepeatButton" TargetType="{x:Type RepeatButton}"> <Setter Property="OverridesDefaultStyle" Value="True" /> <Setter Property="IsTabStop" Value="false" /> <Setter Property="Focusable" Value="false" /> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type RepeatButton}"> <Border Background="Transparent" /> </ControlTemplate> </Setter.Value> </Setter> </Style>

Les Templates

• Contenu variable

• Template = Définition du contenu

• Notion de « graph d’objets »:

• Button

• ContentPresenter

• Image

• …

Templated Button

Texte et Documents

• Support des polices ClearType• Support de l’anti-aliasing• API pour faciliter la lecture

– Zoom– Recherche– Multipages

<Border Width="400"

BorderBrush="Green"

BorderThickness="9">

<StackPanel>

<MediaElement Source="aero.wmv" />

<Button>Hello</Button>

</StackPanel>

</Border>

Audio et Video

• Formats: WMV, MPEG, AVIs• Peuvent être synchronisés avec des animations

Contrôles, styles, templates, etc….

Data Binding

• L’interface utilisateur peut être liée à des objets .NET ou à du XML

• Les “Dependency properties” peuvent également être liées aux objets ADO.NET ou aux Web Services

• Les “Data templates” peuvent être appliqués aux données métiers– Possibilité de représenter visuellement une classe Person, Product, etc….

UI & Databinding<StackPanel>

<Label>Select A Customer</Label><ListBox

Name="myListBox"Background="HoneyDew"ItemsSource="{Binding

{StaticResource myDataSource}}" </ListBox>

</StackPanel>

Cible Source

Dependency ObjectDependency Object ObjectObject

Dependency Property

PropertyTwoWay

OneWay

OneWayToSource

Les Animations / Transformations

<StackPanel> <StackPanel.Triggers> <EventTrigger RoutedEvent=“Button.Click"> <EventTrigger.Actions> <BeginStoryboard> <BeginStoryboard.Storyboard> <Storyboard>

<ColorAnimation To="Yellow" Duration="0:0:0.5“ Storyboard.TargetName="TheBrush" Storyboard.TargetProperty="Color" />

<DoubleAnimation To="45" Duration="0:0:2" Storyboard.TargetName="LowerEllipseTransform" Storyboard.TargetProperty="Angle" />

... </StackPanel.Triggers></StackPanel>

• Fournissent une meilleure expérience utilisateur

• Peuvent être utilisées sur toutes les Dependency Properties

• Classe Transform:

• Rotation

• Translation

• Agrandissement/Réduction

WPF et la 3D

• Les APIs de WPF pour la 3D facilitent la création de contrôles/dessins 3D

• Namespace System.Windows.Media.Media3D:

• Définit des transformations, animations, outils pour créer des contrôles et dessins 3D

Animations, Transformations, 3D

Intéropérabilité WindowsForms / WPF

Incorporez WPF dans vos applications Incorporez WPF dans vos applications WindowsForms tout en conservant votre WindowsForms tout en conservant votre

existantexistant

Interopérabilité WindowsForms / WPF

Applications navigateurs

– Applications WPF fonctionnant dans un navigateur Web

– Le même code XAML est utilisé pour:• Les applications « stand alone »

• Les applications navigateurs

– Fonctionnalités en grande partie identiques aux applications « stand alone »

Applications navigateurs

Windows Presentation Foundation

Disponibilité et packaging

La RTM du Framework .NET 3.0 est disponible depuis Novembre 2006

WPF• Composant du Framework .NET 3.0 pour Windows Vista• Fonctionne sur Windows Vista, Windows XP & Windows Server 2003• Fait partit de Windows – pas de cout supplémentaire

Visual Studio “Orcas” sera disponible après Windows VistaMS Expression Interactive Designer sera, lui aussi, disponible après Windows Vista

Q12006

Q2 Q4 Q12007

Q3 Q2 Q3 Q4

Conclusions

Fournir des expériences utilisateur innovantesFournir des expériences utilisateur innovantes

Améliorer la productivité Développeur-DesignerAméliorer la productivité Développeur-Designer

Permettre un déploiement applicatif fléxiblePermettre un déploiement applicatif fléxible

Accroitre la base de code et les techniques Accroitre la base de code et les techniques existantesexistantes

Ressources

• WPF @ Windows Vista Developer Centerhttp://msdn.microsoft.com/windowsvista/building/presentation/

• http://wpf.netfx3.com

• http://blogs.developpeur.org/tom

• http://morpheus.developpez.com

• Contact: t-thole@microsoft.com

top related