nit*_*rog 3 c# wpf charts wpftoolkit area
我是一个沉思MS工具包图表,无法弄清楚如何改变区域的颜色.我需要动态填充图表,这意味着我不知道区域图表将有多少部分.
这是我的代码.
var a = new AreaSeries
{
Title = "a",
IndependentValuePath = "Key",
DependentValuePath = "Value",
Background = Brushes.Plum
};
Run Code Online (Sandbox Code Playgroud)
我试图改变前景和背景,没有骰子.
mcChart.Series.Add(a);
a = new AreaSeries
{
Title = "b",
IndependentValuePath = "Key",
DependentValuePath = "Value",
Background = Brushes.Peru
};
mcChart.Series.Add(a);
Run Code Online (Sandbox Code Playgroud)
填写图表.
((AreaSeries)mcChart.Series[0]).ItemsSource = new[]
{
new KeyValuePair<string, int>("1", 100),
new KeyValuePair<string, int>("2", 180),
new KeyValuePair<string, int>("3", 110),
new KeyValuePair<string, int>("4", 95),
new KeyValuePair<string, int>("5", 40),
new KeyValuePair<string, int>("6", 95)
};
((AreaSeries)mcChart.Series[1]).ItemsSource = new[]
{
new KeyValuePair<string, int>("1", 150),
new KeyValuePair<string, int>("2", 280),
new KeyValuePair<string, int>("3", 310),
new KeyValuePair<string, int>("4", 195),
new KeyValuePair<string, int>("5", 340),
new KeyValuePair<string, int>("6", 195)
};
Run Code Online (Sandbox Code Playgroud)
我是wpf的新手,我无法弄清楚这有什么问题.
这是XAML
<chartingToolkit:Chart
Width="600" Height="450"
Name="mcChart"
Background="LightBlue"
Foreground="DarkBlue"
Title="Area Chart">
</chartingToolkit:Chart>
Run Code Online (Sandbox Code Playgroud)
如何更改区域a和区域b的颜色.现在,即使我设置了背景和前景,它们也是默认的颜色.
谢谢.
你可以使用这样的Chart.Palette属性:
<Grid>
<charting:Chart>
<charting:Chart.Palette>
<visualizationToolkit:ResourceDictionaryCollection>
<ResourceDictionary>
<Style x:Key="DataPointStyle" TargetType="Control">
<Setter Property="Background" Value="MistyRose"/>
</Style>
</ResourceDictionary>
<ResourceDictionary>
<Style x:Key="DataPointStyle" TargetType="Control">
<Setter Property="Background" Value="AliceBlue"/>
</Style>
</ResourceDictionary>
</visualizationToolkit:ResourceDictionaryCollection>
</charting:Chart.Palette>
<charting:AreaSeries Title="Series 1"/>
<charting:AreaSeries Title="Series 2"/>
</charting:Chart>
</Grid>
Run Code Online (Sandbox Code Playgroud)