2012-01-23 37 views
3

讓我們假設我有一個解釋,看起來像這樣WinForms應用程序:DataBindXY給出了X零點值

private Dictionary<string, double> ChartCollection = new Dictionary<string, double>(); 

而且讓我們假設我填充這個字典,每種類型的各種敵人的數量我「最近已經殺了

Ninja, 7 
Pirate, 10 
Space Cowboy, 4 
Zombie, 8 
Vampire, 7 

最後,讓我們假設我一個圖表綁定到該數據像這樣:

chtAgentVersions.Series[0].Points.DataBindXY(ChartCollection.Keys, ChartCollection.Values); 

這工作完美無瑕。我得到了我的圖表和一個傳奇,由我的敵人名字組成,一切都很好。但是,當我嘗試應用此代碼:

chtAgentVersions.Series[0].Label = "#VALX (#PERCENT)"; 

...我的圖例上的標籤從適當的敵人名稱改爲零。在數據綁定後檢查系列後,我發現我的敵人的名字實際上沒有寫入XValues。我甚至試過這個:

chtAgentVersions.Series[0].XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.String; 

但是,無濟於事。他們爲什麼都是零?

回答

2

如果您使用字符串作爲您的XValue,請使用#AXISLABEL而不是#VALX,因爲XValue在與字符串一起使用時始終爲零。

+0

Bah-zing,你明白了。我會在9分鐘內將您標記爲答案。 =) –

+0

嘿 - 我不是故意錯誤的,但是你沒有一個好的資源來處理與Series對象相關的自由文本字典嗎?我無法找到任何Google搜索,而且鍵值對非常深奧,我不知道從哪裏開始......這就是我所說的:chtAgentVersions.Series [0] [「PieLabelStyle」] =「禁用「; –

+0

有一個關於圖表控件的示例項目,其中包含大量示例。這裏是鏈接:http://archive.msdn.microsoft.com/mschart您可以下載並運行該項目,以發揮豐富的屬性集...... –