簡體   English   中英

WPF工具包餅圖樣式顏色

[英]WPF Toolkit Pie Chart Style Colors

我想為PieChart中的每個Pie Slice在代碼背后設置顏色。 誰知道怎么做? 現在它從樣式xaml獲取顏色,但是我需要自己從代碼隱藏中為每個值(餅圖切片)分配顏色。

不知道這是否是最好的方法,但是我在同樣的事情上苦苦掙扎,最終使它像這樣工作。

聲明一個調色板:

System.Windows.Controls.DataVisualization.ResourceDictionaryCollection pieSeriesPalette = new System.Windows.Controls.DataVisualization.ResourceDictionaryCollection();

然后使用顏色信息創建一個或多個畫筆:

Brush currentBrush = new SolidColorBrush(Color.FromRgb(128, 128, 128)); //Grey

用每個畫筆創建一個新樣式,並將其添加到調色板集合中:

System.Windows.ResourceDictionary pieDataPointStyles = new ResourceDictionary();
Style stylePie = new Style(typeof(PieDataPoint));
stylePie.Setters.Add(new Setter(PieDataPoint.BackgroundProperty, currentBrush));
pieDataPointStyles.Add("DataPointStyle", stylePie);
pieSeriesPalette.Add(pieDataPointStyles);

請注意,必須將每個畫筆(或調色板條目)創建為新的ResourceDictionary對象。 如果創建10個畫筆並將它們全部添加到同一ResourceDictionary中,則該餅圖將僅使用第一種顏色。 (或者也許我只是做錯了什么)。

然后將圖表調色板設置為自定義調色板:

this.yourChartsName.Palette = pieSeriesPalette;

僅當您要自定義調色板以使用特定顏色時,此功能才有用。 對於顏色范圍或固定的顏色列表,我相信您可以在XAML中定義調色板。 希望能幫助到你。

一種可能性是用HSL或HSV構造顏色,保持SL / SV部分固定,可以將整個色相范圍划分為餅圖的數量,這應確保它們在視覺上合理地分開。 不同的SL / SV值將使圖表具有鮮明的色彩,粉彩或深色陰影等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM