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

WinRT Discussion :

XAML : Changer la taille d'une image au survol


Sujet :

WinRT

  1. #1
    Rédacteur

    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2007
    Messages : 494
    Points : 1 057
    Points
    1 057
    Par défaut XAML : Changer la taille d'une image au survol
    Bonjour tout le monde

    Je suis en train de faire ma première application WinRT et je sèche déjà sur un point tout bête ! J'aimerai simplement changer la taille d'une image au survol de la souris (en xaml si possible).

    Quelqu'un saurait-il comment faire ?

    Merci d'avance

    Finality

  2. #2
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 568
    Points
    3 568
    Par défaut
    Tu peux utiliser les storyboards :

    Code Xaml : 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
     
     <Image x:Name="TheImage" Source="/Assets/WP.jpg" Width="400" Height="400" PointerEntered="TheImage_PointerEntered_1" PointerExited="TheImage_PointerExited_1" RenderTransformOrigin="0.5,0.5">
                <Image.Resources>
                    <!-- Animates the rectangle's opacity. -->
                    <Storyboard x:Name="StoryboardBigger">
                        <DoubleAnimation Storyboard.TargetName="TheImage" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleX)" To="1.5" Duration="0:0:0.2"/>
                        <DoubleAnimation Storyboard.TargetName="TheImage" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)" To="1.5" Duration="0:0:0.2"/>
                    </Storyboard>
                    <Storyboard x:Name="StoryboardSmaller">
                        <DoubleAnimation Storyboard.TargetName="TheImage" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleX)" To="1.0" Duration="0:0:0.2"/>
                        <DoubleAnimation Storyboard.TargetName="TheImage" Storyboard.TargetProperty="(UIElement.RenderTransform).(ScaleTransform.ScaleY)" To="1.0" Duration="0:0:0.2"/>
                    </Storyboard>
                </Image.Resources>
                <Image.RenderTransform>
                    <ScaleTransform ScaleX="1" ScaleY="1"/>
                </Image.RenderTransform>
            </Image>
    Le code :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     private void TheImage_PointerEntered_1(object sender, PointerRoutedEventArgs e)
            {
                StoryboardBigger.Begin();
            }
     
            private void TheImage_PointerExited_1(object sender, PointerRoutedEventArgs e)
            {
                StoryboardSmaller.Begin();
            }

    Ça c'est la base. Si c'est pour réutiliser, tu peux faire un contrôle et jouer avec les VisualStates.
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  3. #3
    Rédacteur

    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2007
    Messages : 494
    Points : 1 057
    Points
    1 057
    Par défaut
    En fait tu vois j'aimerai éviter de faire appel à du code dans le .cs. Tu penses que c'est possible ?

    Merci pour ton aide en tout cas

  4. #4
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 568
    Points
    3 568
    Par défaut
    Je ne pense pas que ce soit possible sans code. Il y a bien des triggers en WinRT, mais elles n'acceptent que des RoutedEvent. Et PointerEntered,... ne sont pas des RoutedEvents.

    En plus les trigger ne sont là que pour compatibilité avec Silverlight mais ne sont pas conseillés. C'est remplacé par les VisualState, et il faut un peu de code pour ça.
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  5. #5
    Rédacteur

    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2007
    Messages : 494
    Points : 1 057
    Points
    1 057
    Par défaut
    Ok merci pour la mise au point Connaitrais-tu par hasard de bons articles sur les Visual State ?

  6. #6
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 568
    Points
    3 568
    Par défaut
    Je suis tombé sur cet article, qui explique comment faire des visualstates en Blend :http://www.dreamincode.net/forums/to...and-behaviors/

    C'est du Silverlight, mais ça n'a pas changé
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  7. #7
    Membre habitué
    Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 99
    Points : 152
    Points
    152
    Par défaut
    Salut,

    Si tu es en MVVM, je me permet de t'indiquer cet article pour gérer des Storyboard et VisualState sans code-behind (mais avec du code quand même hein )
    http://win8dev.fr/jouer-avec-les-sto...ate-avec-mvvm/

    N'hésite pas à jeter un coup d'oeil aux autres articles du site win8dev.fr, c'est plutôt interessant.
    Cette réponse vous a aidé ?
    Problème résolu ?

  8. #8
    Invité
    Invité(e)
    Par défaut
    L'expression "sans code-behind" revient pas mal quand on parle de MVVM.

    Franchement quand je sais que le démarrage ou le changement de mon VisualState ne dépend d'aucune changement de données de ma View-Model je préfère largement mettre du code dans mon code behind.
    Si ça dépend de mon View-Model alors là j'aurai toujours mon code-behind pour lancer l'animation mais là ce sera une Messagerie (Messenger dans MVVM Light ) qui se chargera de le dire à l'UI

  9. #9
    Membre habitué
    Profil pro
    Consultant informatique
    Inscrit en
    Septembre 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 99
    Points : 152
    Points
    152
    Par défaut
    Je ne dis pas que c'est pas bien et qu'il ne faut pas de code-behind, c'est simplement une solution pour tout gérer dans le ViewModel.
    Ce n'est pas forcement adapté à tous les cas mais pour moi ça reste la solution que j'utilise le plus.
    Cette réponse vous a aidé ?
    Problème résolu ?

Discussions similaires

  1. Changer la taille d'une image
    Par bilou_12 dans le forum Images
    Réponses: 8
    Dernier message: 02/03/2012, 14h06
  2. Réponses: 1
    Dernier message: 17/08/2011, 17h35
  3. Changer la taille d'une image
    Par philippef dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 08/09/2008, 12h17
  4. changer la taille d'une image
    Par cpierrenet dans le forum C++
    Réponses: 6
    Dernier message: 28/05/2008, 16h39
  5. Changer la taille d'une image chargée avec Loader
    Par DeezerD dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 29/01/2008, 17h55

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