Подтвердить что ты не робот

График в WPF с использованием графика # не отображается в виде цепочки

Я использую WPF с библиотекой графа #, и я пытаюсь нарисовать график как линейную цепочку, поэтому я определил некоторые вершины и ребра, соединяющие их как

new Edge<object>(vertices[i], vertices[i+1])

Но проблема в том, что полученный граф не нарисован так, как ожидалось, он выглядит следующим образом:

1 → 2 → 3 → 1- > 4

Другими словами, вершина 3 проходит через вершину 1 для достижения вершины 4.

Здесь код метода рисования

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;
}

И вот часть кода xaml, связанная с графом #

<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>
4b9b3361

Ответ 1

Я пробовал этот код, и из того, что я вижу, нет ничего плохого в этом. Возможно, некоторые библиографические ссылки не синхронизированы (QuickGraph-GraphSharp). Я перекомпилировал Graph # -Controls и объединил все это в одном решении. Я удалил привязку в XAML и загрузил график в конструктор MainWindow.

Полученный граф, который я получаю от кода, равен: 0 → 1 → 2 → 3- > 4 и не: 1 → 2 → 3 → 1- > 4 Вы можете скачать полный исходный код здесь, чтобы убедиться сами.


Дальнейшие ссылки