IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

Switcher UserControl = Plus d'animation


Sujet :

Windows Presentation Foundation

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 149
    Points : 46
    Points
    46
    Par défaut Switcher UserControl = Plus d'animation
    Hello !

    Travaillant avec le thème de MahApps (Métro Dark) je me suis penché sur les animations de ce thème.

    Je suis arrivé a un cul de sac : en effet j'ai créé un système de switcher entre différent UserControl, c'est a dire que je n'ai qu'une seule fenêtre et en cliquant sur différent boutons, j'affiche tel ou tel UserControl. Mais voila, maintenant que je suis avec ce système de switch, je n'ai plus d'animation (j'ai seulement celle au démarrage de l'application).

    Comment puis-je faire une animation pour chaque changement de UserControl (En gardant bien sur l'animation du thème Metro) ?

    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Points : 3 325
    Points
    3 325
    Par défaut
    Salut,

    tu peux utiliser la classe TransitioningContentControl.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 149
    Points : 46
    Points
    46
    Par défaut
    Salut !

    Merci de ta réponse, je n'ai pas encore essayer, mais j'ai rapidement regarder ce que ca faisait. C'est a utilisé avec le XAML, or, ma facon d'afficher un userControl est la suivante :

    J'ai une classe SWITCHER (elle va me permettre d'instancier mes UserControl, mais aussi de changer le nom de mon appli, ou la couleur par exemple)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    32
    33
    34
    35
    class Switcher
        {
            public static UserControl WClient;
            public static UserControl WHome;
            public static UserControl WDataBase;
     
            public Switcher()
            {
                WClient = new Windows.Client();
                WHome = new Windows.Home();
                WDataBase = new Windows.DataBase();
            }
     
            public static void currentWindow(UserControl window, string color)
            {
     
                Window curApp = Application.Current.MainWindow;
                curApp.Content = window;
     
                if (window == WClient)
                {
                    curApp.Title = "CLIENT - INFO-TOOLS - BY NAOGRAFIX";
                }
                else if (window == WDataBase)
                {
                    curApp.Title = "DATABASE - INFO-TOOLS - BY NAOGRAFIX";
                }
                else
                {
                    curApp.Title = "HOME - INFO-TOOLS - BY NAOGRAFIX";
                }
     
                currentColor(color); 
          }
    }
    Maintenant, a chaque fois que je clic sur un bouton (pour afficher un autre User), j'utilise ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    private void BtnDataBase_Click(object sender, RoutedEventArgs e)
    {
         var color = "Red";
     
         if (DataBase.isConnected) { color = "Green"; }
         Switcher.currentWindow(Switcher.WDataBase, color);
    }
    Comme j'utilise le CONTENT, je doute que ca fasse quelque chose.

    Peut être ai je tord !

    J'attends ta réponse. Merci en tout cas

  4. #4
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Points : 3 325
    Points
    3 325
    Par défaut
    Je pense qu'en ajoutant le TransitioningContentControl à la MainWindow puis en modifiant son Content à la place du Content de la MainWindow il n'y a rien d'autre à changer.

    Mais normalement on a plutôt un ViewModel sur lequel on vient binder la vue au lieu de modifier les valeurs en code behind.

Discussions similaires

  1. Animer un UserControl
    Par Marcolinho dans le forum Windows Presentation Foundation
    Réponses: 13
    Dernier message: 09/07/2008, 14h48
  2. [Election] Le plus bel animal de compagnie
    Par DavidDeTroyes dans le forum La taverne du Club : Humour et divers
    Réponses: 724
    Dernier message: 30/01/2008, 17h40
  3. Réponses: 2
    Dernier message: 23/07/2007, 15h38
  4. Réponses: 2
    Dernier message: 01/05/2007, 11h17
  5. Animation plus fenètre pop up
    Par Kuchiki Byakuya dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 06/03/2007, 20h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo