2017-05-04 48 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