在 MSAGL 中绘制子图时发生转换错误
Cast error when drawing Subgraphs in MSAGL
我有一个根 Subgraph
对象,它有四个子对象 Subgraphs
,每个子对象包含几个 Nodes
。我已将所有 Subgraphs
和 Nodes
添加到 Graph
并在 Graph
上设置 RootSubgraph
。但是,在尝试绘制 Graph
时,我从库(Microsoft.Msagl.GraphViewerGdi.Draw.cs
,第 1044 行)中得到一个转换错误,其中 Subgraph
的 GeometryNode
转换为 Cluster
。 GeometryNode
设置为 GeometryGraphCreator.ProcessSubgraphs
中的 Cluster
并且错误消息没有提供有关转换失败原因的信息。我该如何解决这个问题?
现在我只是将 Label
设置为 null 以避免绘图代码,但我最终想使用标签。
问题出在我初始化 Subgraph
:
var subgraph = new Subgraph(id)
{
Attr =
{
Id = id,
FillColor = fillColor,
},
Label =
{
FontSize = 10,
Text = id
}
};
以这种方式分配 Label
属性 跳过了正确 link Label
和 Subgraph
所需的一些额外设置代码。完全忽略它让构造函数处理 Label
本身。
我有一个根 Subgraph
对象,它有四个子对象 Subgraphs
,每个子对象包含几个 Nodes
。我已将所有 Subgraphs
和 Nodes
添加到 Graph
并在 Graph
上设置 RootSubgraph
。但是,在尝试绘制 Graph
时,我从库(Microsoft.Msagl.GraphViewerGdi.Draw.cs
,第 1044 行)中得到一个转换错误,其中 Subgraph
的 GeometryNode
转换为 Cluster
。 GeometryNode
设置为 GeometryGraphCreator.ProcessSubgraphs
中的 Cluster
并且错误消息没有提供有关转换失败原因的信息。我该如何解决这个问题?
现在我只是将 Label
设置为 null 以避免绘图代码,但我最终想使用标签。
问题出在我初始化 Subgraph
:
var subgraph = new Subgraph(id)
{
Attr =
{
Id = id,
FillColor = fillColor,
},
Label =
{
FontSize = 10,
Text = id
}
};
以这种方式分配 Label
属性 跳过了正确 link Label
和 Subgraph
所需的一些额外设置代码。完全忽略它让构造函数处理 Label
本身。