Bonjour,
Tout est dans le titre, je souhaite savoir si on peut lier une image à un slider et faire en sorte de l'agrandir/rétrécir selon si on slide à gauche ou à droite ?
Merci.
Bonjour,
Tout est dans le titre, je souhaite savoir si on peut lier une image à un slider et faire en sorte de l'agrandir/rétrécir selon si on slide à gauche ou à droite ?
Merci.
Bonjour,
Si tu as un Control Image et deux Silder (un pour la hauteur et un pour la largeur), tu peux binder la propriété Value du Slider à la propriété Width ou Height. Tu peux tenter un truc du genre:
Par contre si tu souhaite n'utiliser qu'un seul Slider, on peut par exemple décider qu'il règle la hauteur de l'image seulement, et ensuite tu binde la largeur sur la hauteur de l'image.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <Image Name="MyImage" Width="{Binding ElementName=SliderWidth, Path=Value}" Height="{Binding ElementName=SliderHeight, Path=Value}"></Image> <Slider Name"SliderWidth"></Slider> <Slider Name="Sliderheigth"></Slider>
Par contre si tu souhaite garder les proportions pour ne pas déformer l'image, il faudrait surement faire quelques petits calcul avant. Tu peux éventuellement passer par un Converter, mais il y a peut être moyen de faire mieux.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <Image Name="MyImage" Width="{Binding ElementName=SliderWidth, Path=Value}" Height="{Binding Path=Width}"></Image> <Slider Name"SliderWidth"></Slider>
J'ai écrit ça à la volé sans VS, donc je ne dit pas que c'est totalement juste. Mais l'idée est là je pense, j'espère ne pas avoir dit de bêtise.
Merci pour ta réponse Takumi
Donc j'ai testé ce que tu proposes et ça marche presque ^^ Je vais continuer grâce à ça pour le moment.
Mais, ce qui se passe quand je déplace le barre sur le slider, l'image du milieu reste inchangée. l'image s'agrandit ou rétrécie(au départ on ne la vois pas surement car la valeur du contrôle slider est à 0, le minimum) mais que très peu.
J'imagine qu'il faut relier la taille du slider non pas sur les pixels (ça doit être mis comme ça par défaut) mais sur la taille de l'image (en proportion donc).
je vais chercher de mon côté en attendant.
Plutôt que de changer la largeur et la hauteur, tu peux utiliser une transformation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <Grid> <Grid.RowDefinitions> <RowDefinition /> <RowDefinition Height="Auto" /> </Grid.RowDefinitions> <Image Source="Images/Image1.jpg" Stretch="None"> <Image.RenderTransform> <ScaleTransform ScaleX="{Binding Value, ElementName=sldZoom}" ScaleY="{Binding Value, ElementName=sldZoom}" /> </Image.RenderTransform> </Image> <Slider Name="sldZoom" Grid.Row="1" Width="300" Minimum="0.1" Maximum="3" Value="1" /> </Grid>
Pas de questions techniques par MP ! Le forum est là pour ça...
Tutoriels : Les nouveautés de C# 6 - Accès aux données avec Dapper - Extraction de données de pages web à l'aide de HTML Agility Pack - La sérialisation XML avec .NET (Aller plus loin) - Les markup extensions en WPF
Merci à toi tomlev c'est ce qu'il me fallait ^^
Encore merci :]
![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager