Problème affichage chart

publespace 31 Messages postés samedi 18 août 2007Date d'inscription 15 mars 2016 Dernière intervention - 13 mars 2016 à 19:31 - Dernière réponse : publespace 31 Messages postés samedi 18 août 2007Date d'inscription 15 mars 2016 Dernière intervention
- 15 mars 2016 à 09:22
Bonjour, je cherche la méthode pour afficher mon chart dans ma form

voila mon code



'je créé mon chart
Dim Chart2 As New DataVisualization.Charting.Chart

' Créer ChartArea (zone graphique)
Dim ChartArea1 As New DataVisualization.Charting.ChartArea()

' Ajouter le Chart Area à la Collection ChartAreas du Chart
Chart2.ChartAreas.Add(ChartArea1)

' Créer deux data series (qui contiendront les DataPoint)
Dim series1 As New DataVisualization.Charting.Series()
Dim series2 As New DataVisualization.Charting.Series()

' Ajouter des points à la collections Points de la première series
series1.Points.Add(38)
series1.Points.Add(26)
series1.Points.Add(32)
series1.Points.Add(28)
series1.Points.Add(45)

' Ajouter des points à la collection Points de la seconde series
series2.Points.Add(12)
series2.Points.Add(43)
series2.Points.Add(24)
series2.Points.Add(12)
series2.Points.Add(28)

'On indique d'afficher ces Series sur le ChartArea1
series1.ChartArea = "ChartArea1"
series2.ChartArea = "ChartArea1"

' Ajouter les series à la collection Series du chart
Chart2.Series.Add(series1)
Chart2.Series.Add(series2)

' Positionner le controle Chart
Chart2.Location = New System.Drawing.Point(15, 45)

' Dimensionner le Chart
Chart2.Size = New System.Drawing.Size(360, 260)

' Ajouter le chart à la form
grid_pilote.Children.Add(Chart2)





c'est la ligne grid_pilote.Children.Add(Chart2) qui coince elle m'affiche l'erreur suivante



Impossible de convertir une valeur de type 'Chart' en 'UIElement'.



des suggestions ?
Afficher la suite 

Votre réponse

10 réponses

Whismeril 12132 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 24 octobre 2018 Dernière intervention - 13 mars 2016 à 20:19
0
Merci
Bonsoir, dans la question précédente tu faisais du wpf.
T'es passé en winform?

Commenter la réponse de Whismeril
publespace 31 Messages postés samedi 18 août 2007Date d'inscription 15 mars 2016 Dernière intervention - 13 mars 2016 à 20:31
0
Merci
en effet j'ai fait un mauvais usage du terme "wpf"

je code sur vs2015
publespace 31 Messages postés samedi 18 août 2007Date d'inscription 15 mars 2016 Dernière intervention - 13 mars 2016 à 21:53
ok je viens de regarder dans les propriété de ma solution

c'est écris type d'application "application wpf"
Whismeril 12132 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 24 octobre 2018 Dernière intervention - 13 mars 2016 à 22:28
Et bien le chant, c'est pas vraiment prévu pour le wpf.

Tu peux te servir d'un Path.
publespace 31 Messages postés samedi 18 août 2007Date d'inscription 15 mars 2016 Dernière intervention - 13 mars 2016 à 23:05
tu veut dire avec un PathListBox ou un PathListBoxItem

je fait des recherches merci
Whismeril 12132 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 24 octobre 2018 Dernière intervention - 13 mars 2016 à 23:13
non non un Path tout court.
J'ai un code au boulot, je tache d'y penser demain

en attendant
https://msdn.microsoft.com/fr-fr/library/system.windows.shapes.path(v=vs.110).aspx
publespace 31 Messages postés samedi 18 août 2007Date d'inscription 15 mars 2016 Dernière intervention - 13 mars 2016 à 23:16
merci pour l'info je fait des recherches
Commenter la réponse de publespace
Whismeril 12132 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 24 octobre 2018 Dernière intervention - 14 mars 2016 à 11:58
0
Merci
Bonjour

un exmple sans prétentions, je n'ai pas géré les échelle ni le fait que les pixels sont positifs vers le bas.
J'ai cru comprendre dans ton code que tes données sont constistuées d'ordonnées uniquement alors j'ai fait pareil.

Le xaml
<Window x:Class="Tests_WPF.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid Background="Black">
        <Path Name ="Path1" Data="{Binding Path=Data1.Data}" Stroke="Yellow"></Path>
    </Grid>
</Window>


le code behind
          int[] justeDesY = { 2, 4, 1, 8, 7 ,10,30,70,80,100,200};
            IEnumerable<Point> points = justeDesY.Select((d, i) => new Point(i*10, d));//je me sert d'une requete indéxée pour générer les x = index * 10
            IEnumerable<PathSegment> segments = points.Skip(1).Select(p => new LineSegment(p, true));//les segement sont issus de la collection de points sauf le premier

            PathFigure figure = new PathFigure(points.First(), segments, false);//génère la figure en partant du premier point, puis les segments

            PathGeometry courbe = new PathGeometry();//on crée une géométrie
            courbe.Figures = new PathFigureCollection();
            courbe.Figures.Add(figure);//on y ajoute la figure


            Path1.Data = courbe;//on y affecte la géométrie


Le behind est en csharp, il y a des traducteurs en ligne et comme mon internet au boulot ne marche pas bien aujourd'hu je ne l'ai pas fait.

J'ai déà eu bien du mal à ouvrir la discussion.
Commenter la réponse de Whismeril
publespace 31 Messages postés samedi 18 août 2007Date d'inscription 15 mars 2016 Dernière intervention - 15 mars 2016 à 09:22
0
Merci
bonjour merci pour la réponse et le temps passé





en attendant j'ai trouvé un plan B à mon problème je créé une image dans laquelle je met mon chart et j'affiche cete image dans un control image je posteris le code se soir ou demain. c'est pas la solutin idéale mais sa fonctionne.

j'etudie ton code afin d'integrer directement le chart dans mon peti soft
Commenter la réponse de publespace

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.