2017-05-04 2 views
0

J'ai un objet racine Subgraph avec quatre enfants Subgraphs contenant chacun Nodes. J'ai ajouté tous les Subgraphs et Nodes au Graph et définir le RootSubgraph sur le Graph. Cependant, lorsque j'essaie de dessiner le Graph, j'obtiens une erreur de distribution à partir de la bibliothèque (Microsoft.Msagl.GraphViewerGdi.Draw.cs, ligne 1044) où le GeometryNode d'un Subgraph est transtypé en Cluster. Le GeometryNode est défini à Cluster dans GeometryGraphCreator.ProcessSubgraphs et le message d'erreur ne me donne pas d'informations sur les raisons de l'échec de la distribution. Comment puis-je réparer cela?Cast erreur lors du dessin Subgraphs dans MSAGL

Pour l'instant je ai simplement mis le Label à zéro pour éviter le code de dessin, mais je voudrais utiliser une étiquette par la suite.

Répondre

0

Le problème était dans mon initialisation du Subgraph:

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

Attribution de la propriété Label ainsi sauté un code supplémentaire mis en place nécessaire pour relier correctement le Label avec le Subgraph. En le laissant complètement, le constructeur peut gérer le Label lui-même.