Précédent   Forum du club des développeurs et IT Pro > Dotnet > Développement Windows > WinRT
WinRT Forum d'entraide sur le développement d'applications Metro pour Windows 8 avec WinRT
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 09/11/2012, 15h52   #1
Finality
Rédacteur
 
Homme
Inscription : septembre 2007
Messages : 446
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 : 446
Points : 834
Points : 834
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
Finality est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2012, 18h54   #2
GuruuMeditation
Expert Confirmé
 
Avatar de GuruuMeditation
 
Homme Olivier Matis
.Net Architect
Inscription : octobre 2010
Messages : 1 352
Détails du profil
Informations personnelles :
Nom : Homme Olivier Matis
Âge : 38
Localisation : Belgique

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

Informations forums :
Inscription : octobre 2010
Messages : 1 352
Points : 2 869
Points : 2 869
Envoyer un message via MSN à GuruuMeditation
Tu peux utiliser les storyboards :

Code Xaml :
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# :
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 : Visual C#

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)
GuruuMeditation est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2012, 20h39   #3
Finality
Rédacteur
 
Homme
Inscription : septembre 2007
Messages : 446
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 : 446
Points : 834
Points : 834
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
Finality est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2012, 22h04   #4
GuruuMeditation
Expert Confirmé
 
Avatar de GuruuMeditation
 
Homme Olivier Matis
.Net Architect
Inscription : octobre 2010
Messages : 1 352
Détails du profil
Informations personnelles :
Nom : Homme Olivier Matis
Âge : 38
Localisation : Belgique

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

Informations forums :
Inscription : octobre 2010
Messages : 1 352
Points : 2 869
Points : 2 869
Envoyer un message via MSN à GuruuMeditation
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 : Visual C#

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)
GuruuMeditation est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2012, 09h25   #5
Finality
Rédacteur
 
Homme
Inscription : septembre 2007
Messages : 446
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 : 446
Points : 834
Points : 834
Ok merci pour la mise au point Connaitrais-tu par hasard de bons articles sur les Visual State ?
Finality est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2012, 15h02   #6
GuruuMeditation
Expert Confirmé
 
Avatar de GuruuMeditation
 
Homme Olivier Matis
.Net Architect
Inscription : octobre 2010
Messages : 1 352
Détails du profil
Informations personnelles :
Nom : Homme Olivier Matis
Âge : 38
Localisation : Belgique

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

Informations forums :
Inscription : octobre 2010
Messages : 1 352
Points : 2 869
Points : 2 869
Envoyer un message via MSN à GuruuMeditation
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 : Visual C#

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)
GuruuMeditation est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2012, 11h33   #7
Lordinaire
Membre habitué
 
Maxime FRAPPAT
Consultant informatique
Inscription : septembre 2009
Messages : 98
Détails du profil
Informations personnelles :
Nom : Maxime FRAPPAT
Localisation : France

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : septembre 2009
Messages : 98
Points : 148
Points : 148
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.
Lordinaire est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2012, 15h06   #8
h2s84
Modérateur
 
Avatar de h2s84
 
Homme Holty Samba SOW
Développeur .NET
Inscription : mars 2007
Messages : 2 748
Détails du profil
Informations personnelles :
Nom : Homme Holty Samba SOW
Âge : 28
Localisation : Sénégal

Informations professionnelles :
Activité : Développeur .NET
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mars 2007
Messages : 2 748
Points : 5 197
Points : 5 197
Envoyer un message via MSN à h2s84 Envoyer un message via Skype™ à h2s84
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
__________________
Consultant .Net chez SoftFluent
Découvrir notre produit CodeFluent Entities

Adhérer à l'association Fier d'être développeur
Les FAQs sur les technologies .Net voir ici
Les cours et tutos sur les technologies .Net voir ici
Les critiques sur les livres parlant des technologies .Net voir ici
Pensez à la balise [CODE]
Pensez au tag si votre problème est résolu
h2s84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/11/2012, 17h14   #9
Lordinaire
Membre habitué
 
Maxime FRAPPAT
Consultant informatique
Inscription : septembre 2009
Messages : 98
Détails du profil
Informations personnelles :
Nom : Maxime FRAPPAT
Localisation : France

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : septembre 2009
Messages : 98
Points : 148
Points : 148
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.
Lordinaire est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 03h05.


 
 
 
 
Partenaires

Hébergement Web