您好我正在使用图表控件绘制 columnseries 图表,方法是下载Microsoft wpftoolkit。 我可以使用我的数据绘制图形,但条形图的背景颜色没有变化。如何将条形颜色更改为红色而不是默认的 LightSteelBlue 颜色。 这是我的代码
<Window x:Class="net.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:DVC="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit"
xmlns:DV="clr-namespace:System.Windows.Controls.DataVisualization;assembly=System.Windows.Controls.DataVisualization.Toolkit"
Title="Window1" Height="800" Width="800" xmlns:my="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit">
<Grid>
<DVC:Chart Canvas.Top="80" Canvas.Left="10" Name="mcChart"
Width="800" Height="450" FontSize="12"
Background="DarkGray" Foreground="DarkRed">
<DVC:Chart.Series>
<DVC:ColumnSeries x:Name="Barchart" Title="Students"
ItemsSource="{Binding list}"
IndependentValueBinding="{Binding Path=Name}"
DependentValueBinding="{Binding Path=students}" >
</DVC:ColumnSeries>
</DVC:Chart.Series>
</DVC:Chart>
</Grid>
任何人都可以告诉我如何做到这一点?。
提前致谢。 请回答这个问题。
答案 0 :(得分:1)
为了解决此问题,您可以覆盖样式。
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:chartingToolkit="clr-namespace:System.Windows.Controls.DataVisualization.Charting;assembly=System.Windows.Controls.DataVisualization.Toolkit">
<!-- Resource dictionary entries should be defined here. -->
<Style x:Key="MyColumnDataPointStyle"
TargetType="{x:Type chartingToolkit:ColumnDataPoint}">
<Setter Property="Background"
Value="Red" />
<Setter Property="BorderBrush"
Value="Black" />
<Setter Property="BorderThickness"
Value="1" />
<Setter Property="IsTabStop"
Value="False" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type chartingToolkit:ColumnDataPoint}">
<Border x:Name="Root"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}">
<Border.ToolTip>
<ContentControl Content="{TemplateBinding FormattedDependentValue}" />
</Border.ToolTip>
<Grid Background="{TemplateBinding Background}">
<Rectangle>
<Rectangle.Fill>
<LinearGradientBrush>
<GradientStop Color="#77FFFFFF"
Offset="0" />
<GradientStop Color="Transparent"
Offset="1" />
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<Border BorderBrush="#CCFFFFFF"
BorderThickness="1">
<Border BorderBrush="#77FFFFFF"
BorderThickness="1" />
</Border>
<Rectangle x:Name="SelectionHighlight"
Fill="Red"
Opacity="0" />
<Rectangle x:Name="MouseOverHighlight"
Fill="White"
Opacity="0" />
</Grid>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
使用
<Grid>
<DVC:Chart Canvas.Top="80"
Canvas.Left="10"
Name="mcChart"
Width="800"
Height="450"
FontSize="12"
Background="DarkGray"
Foreground="DarkRed">
<DVC:Chart.Series>
<DVC:ColumnSeries x:Name="Barchart"
Style="{StaticResource MyColumnDataPointStyle}"
Title="Students"
ItemsSource="{Binding list}"
IndependentValueBinding="{Binding Path=Name}"
DependentValueBinding="{Binding Path=students}">
</DVC:ColumnSeries>
</DVC:Chart.Series>
</DVC:Chart>
</Grid>
希望这可以帮助你...
答案 1 :(得分:0)
在DataPointStyle中仅设置Background属性也可以。
资源:
<Style x:Key="RedColumnDataPointStyle"
TargetType="{x:Type DVC:ColumnDataPoint}">
<Setter Property="Background" Value="Red" />
</Style>
用法:
<DVC:ColumnSeries x:Name="Barchart"
DataPointStyle="{StaticResource RedColumnDataPointStyle}"
Title="Students"
ItemsSource="{Binding list}"
IndependentValueBinding="{Binding Path=Name}"
DependentValueBinding="{Binding Path=students}">
</DVC:ColumnSeries>