2017-05-04 38 views
0

我有一个根Subgraph对象,其中四个子女Subgraphs每个都包含几个Nodes。我已将所有SubgraphsNodes添加到Graph,并将RootSubgraph设置为Graph。但是,当试图绘制Graph时,我会从库(Microsoft.Msagl.GraphViewerGdi.Draw.cs,第1044行)中获得一个投射错误,其中SubgraphGeometryNode投射到ClusterGeometryNodeGeometryGraphCreator.ProcessSubgraphs中设置为Cluster,并且该错误消息不提供有关为什么演员投票失败的信息。我怎样才能解决这个问题?在MSAGL中绘制子图时出现投射错误

现在我已经简单地将Label设置为null来避免绘图代码,但我最终会使用标签。

回答

0

的问题是在我的Subgraph的初始化:

var subgraph = new Subgraph(id) 
{ 
    Attr = 
    { 
     Id = id, 
     FillColor = fillColor, 
    }, 
    Label = 
    { 
     FontSize = 10, 
     Text = id 
    } 
}; 

分配Label产权这种方式跳过需要一些额外的设置代码与Subgraph正确链接Label。完全放弃它可以让构造函数自己处理Label