在MSAGL中绘制子图时出现投射错误
问题描述:
我有一个根Subgraph
对象,其中四个子女Subgraphs
每个都包含几个Nodes
。我已将所有Subgraphs
和Nodes
添加到Graph
,并将RootSubgraph
设置为Graph
。但是,当试图绘制Graph
时,我会从库(Microsoft.Msagl.GraphViewerGdi.Draw.cs
,第1044行)中获得一个投射错误,其中Subgraph
的GeometryNode
投射到Cluster
。 GeometryNode
在GeometryGraphCreator.ProcessSubgraphs
中设置为Cluster
,并且该错误消息不提供有关为什么演员投票失败的信息。我怎样才能解决这个问题?在MSAGL中绘制子图时出现投射错误
现在我已经简单地将Label
设置为null来避免绘图代码,但我最终会使用标签。
答
的问题是在我的Subgraph
的初始化:
var subgraph = new Subgraph(id)
{
Attr =
{
Id = id,
FillColor = fillColor,
},
Label =
{
FontSize = 10,
Text = id
}
};
分配Label
产权这种方式跳过需要一些额外的设置代码与Subgraph
正确链接Label
。完全放弃它可以让构造函数自己处理Label
。