c# - WPF 工具包饼图样式颜色

标签 c# wpf toolkit pie-chart

我想在我的 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 中定义调色板。 希望对您有所帮助。

关于c# - WPF 工具包饼图样式颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2425504/

相关文章:

c# - WPF。在后面的代码中使用 xaml 中的按钮样式

c# - 屏幕录制单个窗口

c# - 静态的反义词是什么?

c# - 从网站自动下载 XLS 文件

c - 如何使用 polkit 库编译我的 C 程序?

java - 在 Java 中使用箭头键移动图像

AJAX 框架

javascript - 将原始 HTML 标签分配给 JavaScript 变量

c# - 如何在 Prism 6 的 Shell 顶部显示登录模式窗口?

wpf - 如何在我的 ViewModel 中链接(依赖)属性?