Bonjour,
Pour compléter une application, j'ai besoin de recréer le graphique mis en pièces jointes. (VB_diagramme schaeffler)
Pour celà, j'ai utilisé le contrôle Chart du WPF Toolkit et j'obtiens le résultat de la deuxième pièce jointe mais celà ne me conviens pas vraiment.
Vu le peu d'informations sur ce contrôle sur le net, je me tourne vers vous pour en avoir
Voici mes questions :
-Comment faire pour que les Titres de mes séries ne soit pas affichées dans la légende?
-Comment faire pour que toutes les lignes soient grises? (j'ai essayé de modifier le style des LineSeries mais on dirait que la propriété par défaut Chart.Palette prend le dessus)
J'ai également essayé de modifier le Template du contrôle Chart pour essayer de lui rajouter mes lignes mais je n'arrive pas à comprendre la composition du contrôle notament l'EdgePanel.
Voici le code Xaml du chart :
Rien de particulier, je créé juste mes axes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <c:Chart Name="SchaefflerChart" Grid.Row="1" Title="Diagramme de Schaeffler" Background="{DynamicResource ResourceKey=GrayLinearGradientBrush}"> <c:Chart.Axes> <c:LinearAxis Title="% Eq Cr = %Cr + %Mo + 1,5 x %Si + 0,5 x %Nb + 2 x %Ti" Orientation="X" Minimum="0" Maximum="30" Interval="2"/> <c:LinearAxis Title="% Eq Ni = %Ni + 30 x %C + 0,5 x %Mn" Orientation="Y" Minimum="0" Maximum="25.5" Interval="5"/> </c:Chart.Axes> </c:Chart>
Les LineSeries sont ajoutées par le code suivant:
J'ai aussi essayé de créer mon propre contrôle en héritant de Chart mais je me suis cassé les dents ...
Code : 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
27
28 Public Sub InitializeSchaefflerChart(ByVal _SchaefflerChart As Chart) SetLinearSerie(_SchaefflerChart, 7.4, 0, 34.6, 30) SetLinearSerie(_SchaefflerChart, 14.8, 7.4, 37.3, 30) SetLinearSerie(_SchaefflerChart, 15.5, 6.85, 40, 28.5) SetLinearSerie(_SchaefflerChart, 16.45, 6, 40, 23.5) SetLinearSerie(_SchaefflerChart, 17.7, 5.2, 40, 19.7) SetLinearSerie(_SchaefflerChart, 18.7, 4.35, 40, 14.65) SetLinearSerie(_SchaefflerChart, 12.7, 0, 40, 8.8) SetLinearSerie(_SchaefflerChart, 0, 7.3, 2.5, 0) SetLinearSerie(_SchaefflerChart, 0, 19.2, 20.65, 2.7) SetLinearSerie(_SchaefflerChart, 0, 25.5, 26.35, 4.6) End Sub Public Sub SetLinearSerie(ByVal _Chart As Chart, ByVal X1 As Double, ByVal Y1 As Double, ByVal X2 As Double, ByVal Y2 As Double) Dim _NewSerie As New LineSeries With _NewSerie .IndependentValuePath = "X" .DependentValuePath = "Y" End With Dim lst As New List(Of Point) With lst .Add(New Point(X1, Y1)) .Add(New Point(X2, Y2)) End With _NewSerie.ItemsSource = lst _Chart.Series.Add(_NewSerie) End Sub![]()
Partager