WPFToolkit的Chart控件在自定义ColumnSeries的数据点样式时的一个小问题
在使用Blend自定义WPFToolkit提供的Chart控件时,有时需要自定义ColumnSeries的DataPointStyle。此时,若使用Blend直接复制DataPointStyle,会发现柱状图不显示。
该问题出现于Blend默认复制的DataPointStyle:
<Style x:Key="ColumnStudentTotalSubmitByTimeDataPointStyle" TargetType="{x:Type chartingToolkit:ColumnDataPoint}">
<Setter Property="Background" Value="Orange"/>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="BorderThickness" Value="0"/>
<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}" Opacity="0">
<Border.ToolTip>
<ContentControl Content="{TemplateBinding FormattedDependentValue}"/>
</Border.ToolTip>
<Grid Background="{TemplateBinding Background}">
<Rectangle>
<Rectangle.Fill>
<SolidColorBrush Color="Blue" />
</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>
在该默认DataPointStyle中,可以看到<Border x:Name="Root" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Opacity="0">一行中,Root的Opacity属性被置零,导致数据点不可见。
页面版本: 2, 最后编辑于: 29 Jul 2019 08:58