Bonjour,

J’ai un graphique qui affiche deux lineSeries, voici le Xaml :

Code xml : 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
<toolkit:Chart x:Name="GraphSales" Canvas.Top="264" BorderBrush="#FF9FABB7" Height="156" Width="466" Canvas.Left="103" >
 
 
                    <toolkit:LineSeries x:Name="LineGauche"  DependentValuePath="X" IndependentValuePath="Y"  Title="Gauche" DependentValueBinding="{Binding SasGauche}" IndependentValueBinding="{Binding PerDate }" >
                        <charting:LineSeries.DataPointStyle>
                            <Style TargetType="charting:DataPoint">
                                <Setter Property="Visibility" Value="Visible"/>
                                <Setter Property="Background" Value="{StaticResource Ligne_Bleue}"/>
 
                            </Style>
                        </charting:LineSeries.DataPointStyle>
                    </toolkit:LineSeries>
 
                    <!--Centre-->
                    <toolkit:LineSeries x:Name="LineCentre"  DependentValuePath="X" IndependentValuePath="Y"  Title="Gauche" DependentValueBinding="{Binding SasCentre}" IndependentValueBinding="{Binding PerDate }" >
                        <charting:LineSeries.DataPointStyle>
                            <Style TargetType="charting:DataPoint">
                                <Setter Property="Visibility" Value="Visible"/>
                                <Setter Property="Background" Value="{StaticResource Ligne_Jaune}"/>
 
                            </Style>
                        </charting:LineSeries.DataPointStyle>
                    </toolkit:LineSeries>
 
 
                </toolkit:Chart>
Dans mon code behind, je mets à chacune des deux lineSerie un itemSource qui est une liste d’un objet « maison » qui comprend une date (PerDate) , une valeur gauche (SasGauche) et une valeur centre (SasCentre).
L’une des liste comprend douze éléments (de janvier à décembre) alors que l’autre n’en contient que trois(de mai à juillet).

Le résultat est que mon graphique s’affiche correctement, les douze valeurs d’une lineSerie et les trois de l’autre. Comme j’ai une donnée par date, l’axe de mes X affiche bien les douze dates allant du 1/1/2010 au 1/12/2010.
Mon problème, c’est que je ne veux pas afficher la date complète sur mon axe des X mais seulement le mois (par exemple « Jan » pour le 1/1/2010.
Pour cela, j’ai fait un converter qui me retourne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Return myDtValue.ToString("MMM")
et que j'appelle comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
IndependentValueBinding="{Binding PerDate,Converter=myLettreMoisConverter }"
Ca fonctionne, mais le résultat de mon graphique est que maintenant les mois sont classés en commençant par mai-juin-juillet et puis janvier-février-avril-Aout-Septembre-…
Donc les mois qui sont contenus dans les deux lineseries (mai-juin-juillet) s’affichent en premier.
Pourquoi ?
Il faut dire que la documentation sur des propriétés comme « IndependentValuePath » ou « DependentValueBinding » sont quasi inexistantes.

J’aimerais donc que mes périodes restent classées de janvier à décembre mais en affichant « Jan », « fév », « mar », « avr »,….