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">一行中,RootOpacity属性被置零,导致数据点不可见。

it
除非特别注明,本页内容采用以下授权方式: Creative Commons Attribution-ShareAlike 3.0 License