在 MSAGL 中绘制子图时发生转换错误

Cast error when drawing Subgraphs in MSAGL

我有一个根 Subgraph 对象,它有四个子对象 Subgraphs,每个子对象包含几个 Nodes。我已将所有 SubgraphsNodes 添加到 Graph 并在 Graph 上设置 RootSubgraph。但是,在尝试绘制 Graph 时,我从库(Microsoft.Msagl.GraphViewerGdi.Draw.cs,第 1044 行)中得到一个转换错误,其中 SubgraphGeometryNode 转换为 ClusterGeometryNode 设置为 GeometryGraphCreator.ProcessSubgraphs 中的 Cluster 并且错误消息没有提供有关转换失败原因的信息。我该如何解决这个问题?

现在我只是将 Label 设置为 null 以避免绘图代码,但我最终想使用标签。

问题出在我初始化 Subgraph:

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

以这种方式分配 Label 属性 跳过了正确 link LabelSubgraph 所需的一些额外设置代码。完全忽略它让构造函数处理 Label 本身。