Bonjour
Je cherche à ajouter sur une application Winform (ou WPF) un graph tel qu'illustré dans l'image jointe. des vertex et edge assez simples avec une image propre à chaque nœud, des nœuds que l'utilisateur pourrait ajouter, déplacer et éditer en double cliquant dessus pour changer des caractéristiques.
J'ai repéré la librairie GraphX qui semble offrir un magnifique outil mais après 5h de galères je n'arrive toujours pas à tester le moindre bout de code !
J'ai installé le nuget correspondant puis tenté un test en suivant la doc ici
http://www.panthernet.ru/en/projects...x-doc-tutorial
Mon soucis est que je n'arrive pas à construire un projet qui tourne, il manque des déclarations de partout qui ne sont pas décrites dans la doc. Débutant en WPF je ne suis pas très l'aise pour recoller les bouts qui manquent
J'ai un fichier MainWindows.xaml.cs qui contient ceci (ce qui est proposé par la doc de graphX). a noter pas moins de 4 using pour que ça digère le code !
Ensuite j'ai un MainWindows.xaml avec (toujours ce que propose la doc de graphX pour tester)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using GraphX.Controls; //ajouté pour graphX using GraphX.Measure; //ajouté pour graphX using GraphX.PCL.Common.Models ; //ajouté pour graphX using GraphX.PCL.Logic.Models; //ajouté pour graphX using QuickGraph; //ajouté pour graphX namespace testGraphX2 { /// <summary> /// Logique d'interaction pour MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } } //Layout visual class public class GraphAreaExample : GraphArea<DataVertex, DataEdge, BidirectionalGraph<DataVertex, DataEdge>> { } //Graph data class public class GraphExample : BidirectionalGraph<DataVertex, DataEdge> { } //Logic core class public class GXLogicCoreExample : GXLogicCore<DataVertex, DataEdge, BidirectionalGraph<DataVertex, DataEdge>> { } //Vertex data object public class DataVertex : VertexBase { /// <summary> /// Some string property for example purposes /// </summary> public string Text { get; set; } public override string ToString() { return Text; } } //Edge data object public class DataEdge : EdgeBase<DataVertex> { public DataEdge(DataVertex source, DataVertex target, double weight = 1) : base(source, target, weight) { } public DataEdge() : base(null, null, 1) { } public string Text { get; set; } public override string ToString() { return Text; } } }
et là je bloque, pas moyen de trouver comment lui faire digérer graphxctrl:ZoomControl qu'il ne voit pas dans l'espace de nom :-(
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 <Window x:Class="testGraphX2.MainWindows" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:graphxctrl="clr-namespace:testGraphX2;assembly=testGraphX2" xmlns:local="clr-namespace:testGraphX2" mc:Ignorable="d" Title="MainWindow" Height="350" Width="525"> <Grid> <graphxctrl:ZoomControl x:Name="gg_zoomctrl"> <local:GraphAreaExample x:Name="gg_Area"/> </graphxctrl:ZoomControl> </Grid> </Window>
du coup je ne suis pas allé plus loin dans le tuto de la doc
----------------------------------
J'ai essayé de tester l'application de démo ShowcaseApp espérant pouvoir tester la librairie dont les captures d’écran sont alléchantes mais quand j'ouvre les projets de démo du zip récupéré sur github ici https://github.com/panthernet/GraphX, Visual studio community 2015 et VS 2013 express me disent que le projet n'est pas compatible, du coup je ne peux pas ouvrir, tester et peut être voir et comprendre le code qui est derrière la démo. Je ne comprends pas ce qui peut ne pas être compatible et je ne vois pas de .exe pour tester directement.
Merci par avance pour votre aide pour débloquer mon essai (à moins que cette lib soit une usine à gaz inexploitable et qu'un meilleur choix s'offre à moi :-p)
Partager