Bonjour,
Je voudrai savoir comment je pourrai configurer mon Slider pour qu'il présente qu'un nombre restreint de valeur ( ne pas mentionner tout un intervalle ) .
Merci d'avance . :)
Version imprimable
Bonjour,
Je voudrai savoir comment je pourrai configurer mon Slider pour qu'il présente qu'un nombre restreint de valeur ( ne pas mentionner tout un intervalle ) .
Merci d'avance . :)
Ta question manque un peu de clarté. Veux-tu dire qu'en bougeant le slider d'un cran tu passes par exemple de la valeur 1 à la valeur 5 ?
j'espere qe j'ai bien compris ta question .
pour faire un slider qui presente que les valeur suivants par exemple : 0,10,20,30,40 ,50,60,70,80,90, 100 tu peux utiliser maximum , minimum , LargeChange et SmallChange à condition que SmallChange = LargeChange
voici le code :
Code:
1
2 <Slider Height="23" HorizontalAlignment="Left" Margin="33,170,0,0" Name="slider1" VerticalAlignment="Top" Width="268" LargeChange="10" SmallChange="10" Maximum="100" Minimum="0"/>
Merci pour vos réponses ,
@sofienems : le problème c'est que le SmallChange est différent du LargeChange
@Samuel Blanchard : c'est exactement ce que je cherche !
voici une solution ça doit marcher si tu modifie les valeur de Ticks .
mais je pense que ça ne marche que sur XP SP3 , vista , se7en , 2008 server , 2008 R2 , 2003 R2 .
verifie
Code:
1
2
3
4
5
6
7
8
9
10
11 <Slider Width="100" Orientation="Horizontal" Minimum="1" Maximum="10" IsDirectionReversed="True" IsMoveToPointEnabled="True" AutoToolTipPrecision="2" AutoToolTipPlacement="BottomRight" TickPlacement="BottomRight" Ticks="0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5" IsSelectionRangeEnabled="true" SelectionStart="2.5" SelectionEnd="7.5" Name="mySlider"/>
attention sofienems, C'est un slider WPF. Ce n'est pas le même que celui en Silverlight.
Pour réaliser ce que tu cherches simplement voila comment il faut s'y prendre :
Tout d'abord creer un tableau contenant les nouvelles valeurs du sliders :
Code:
1
2 int[] newValues = new int[]{ 1, 5, 12, 20, 21};
fixe le minimum de ton slider à 0 et le maximum comme suit :
Code:
1
2slider.Maximum = newValues.Lenght - 1;
il te suffit ensuite de t'abonner à l'évenement ValueChanged avec cette méthode :
Code:
1
2
3
4
5
6
7
8 private void Slider_ValueChanged(object sender, RoutedPropertyChangingEventArgs<double> e ) { // la valeur du slider sert d'index à ton tableau int index = (int)e.NewValue; // voici la valeur ! int newValue = newValues[index]; }
En poussant un peu on pourrait créer un Behavior Ticks comme en WPF mais c'est un autre sujet :P
Merci pour ta proposition , mais en essayant j ai l'erreurIl en est de même pour les autres propriétés mentionnées ( qui la suivent) .Citation:
la propriété "IsMoveToPointEnabled" est introuvable pour le type Slider
Samuel a répondu...Il s'agit d'un silder pour WPF!