C# 在WPF中使用Graph#isn';不要像链条一样拉

C# 在WPF中使用Graph#isn';不要像链条一样拉,c#,wpf,graph,graph-sharp,C#,Wpf,Graph,Graph Sharp,我将WPF与graph#library一起使用,并试图将图形绘制为线性链,因此我将一些顶点和连接它们的边定义为 new Edge<object>(vertices[i], vertices[i+1]) 新边(顶点[i],顶点[i+1]) 但问题是,生成的图形没有按预期绘制,如下所示: 1->2->3->1->4 换句话说,顶点3通过顶点1到达顶点4 这是绘图方法的代码 private void CreateGraphToVisualize() { var g = new

我将WPF与graph#library一起使用,并试图将图形绘制为线性链,因此我将一些顶点和连接它们的边定义为

new Edge<object>(vertices[i], vertices[i+1])
新边(顶点[i],顶点[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;
}
private void CreateGraphToVisualize()
{
var g=新的双向图();
//将顶点添加到图形中
字符串[]顶点=新字符串[5];
对于(int i=0;i<5;i++)
{
顶点[i]=i.ToString();
g、 AddVertex(顶点[i]);
}
//将边添加到图形中
g、 AddEdge(新边(顶点[0],顶点[1]);
g、 AddEdge(新边(顶点[1],顶点[2]);
g、 AddEdge(新边(顶点[2],顶点[3]);
g、 AddEdge(新边(顶点[3],顶点[4]);
GraphToVisualize=g;
}
这是和graph相关的xaml代码的一部分#


我已经尝试过这段代码,从我所看到的情况来看,它没有什么问题。可能是某些库引用不同步(QuickGraph GraphSharp)。我重新编译了Graph#-控件,并将其整合到一个解决方案中。我删除了XAML中的绑定,并将图形加载到MainWindow的构造函数中

我从代码中得到的结果图是:0->1->2->3->4和:1->2->3->1->4。您可以下载完整的源代码,自己查看


进一步参考


我已经尝试了您上面粘贴的代码,但无法在本地复制-我得到了预期的
0->1->2->3->4
。您粘贴的代码工作正常。您使用的是最新版本吗?