Sto usando WPF con la libreria del grafico # e sto provando a disegnare un grafico come una catena lineare, quindi ho definito alcuni vertici e i bordi che li univano comeIl grafico in WPF utilizzando il grafico # non è disegnato come una catena
new Edge<object>(vertices[i], vertices[i+1])
Ma il problema è che il grafico risultante non viene disegnato come previsto, è come il seguente:
1 -> 2 -> 3 -> 1-> 4
In altre parole, il vertice 3 sta attraversando il vertice 1 per raggiungere il vertice 4.
Ecco il codice del metodo di disegno
private void CreateGraphToVisualize()
{
var g = new BidirectionalGraph<object, IEdge<object>>();
// add the vertices to the graph
string[] vertices = new string[5];
for (int i = 0; i < 5; i++)
{
vertices[i] = i.ToString();
g.AddVertex(vertices[i]);
}
// add edges to the graph
g.AddEdge(new Edge<object>(vertices[0], vertices[1]));
g.AddEdge(new Edge<object>(vertices[1], vertices[2]));
g.AddEdge(new Edge<object>(vertices[2], vertices[3]));
g.AddEdge(new Edge<object>(vertices[3], vertices[4]));
GraphToVisualize = g;
}
Ed ecco una parte del codice XAML relative al grafico #
<DockPanel Grid.Row="2" Margin="10,10,13,10">
<zoom:ZoomControl>
<graphsharp:GraphLayout x:Name="graphLayout"
Graph="{Binding ElementName=root,Path=GraphToVisualize}"
LayoutAlgorithmType="FR"
OverlapRemovalAlgorithmType="FSA"
HighlightAlgorithmType="Simple"/>
</zoom:ZoomControl>
</DockPanel>
che ho provato il codice che hai incollato sopra e non in grado di riprodurre a livello locale - ottengo '0 -> 1 -> 2 -> 3 -> 4' come previsto. –
Il codice incollato funziona correttamente. Stai usando l'ultima versione? –