XXP

mai 2016

lun. mar. mer. jeu. ven. sam. dim.
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

« WPF Canvas | Accueil | WPF Canvas »

01 février 2007

WPF Canvas

Dans Windows Presentation Foundation (WPF, .Net 3.0), le mode de navigation poussé par le framework est de type navigateur, avec boutons back et forward.

Si l'on veut être un peu original et enchainer les écrans par expansion ou fondu, comment faire?

Un exemple vient d'être publié sur MSDN, qui montre la simplicité de l'histoire : la racine de la fenêtre est constituée d'autant de Canvas que de fenêtres, et un objet dédié à la gestion des états  a en charge le passage de Canvas en Canvas et des animations associées.

<Canvas Background="BurlyWood" Width="1024" Height="768" x:Name="MainCanvas">

    <ui:Screen3 x:Name="Screen3Canvas" Visibility="Collapsed"/>

    <ui:Screen2 x:Name="Screen2Canvas" Visibility="Collapsed" />

    <ui:Screen1 x:Name="Screen1Canvas" Visibility="Collapsed"/>

    <ui:Logo x:Name="LogoCanvas" Canvas.Left="{x:Static l:Constants.LOGOPANEL_POS_LEFT_OFFSCREEN}" Canvas.Top="300"/>

  </Canvas>

Les "Screen1", "Screen2", "Screen3" héritent de la classe Canvas.

La classe StateManager de ce projet gère la cinématique des écrans. C'est elle qui va faire varier l'attribut Collapse des canvas aux moments opportuns (entre autre). J'imagine que le code de cette classe va vite devenir in-maintenable quand le nombre de fenêtres va augmenter et quand les possibilités de passage d'un état à un autre va conséquement exploser.

Ca peut être l'occasion de gérer ces états via WF (Workflow Foundation, toujours .Net 3.0), qui dispose du nécessaire pour structurer les approches "state-machine". Appliquer WF à la logique des enchainements des éléments d'interface graphique a d'ailleurs déjà été utilisé par WCSF (Web Client Software Factory), projet open-source qui définit un socle technique pour les applications Web.

TrackBack

URL TrackBack de cette note:
https://www.typepad.com/services/trackback/6a00d8341c871f53ef00d835734fce69e2

Listed below are links to weblogs that reference WPF Canvas:

Commentaires

L'utilisation des commentaires est désactivée pour cette note.