更改系列的数据点外观

时间:2011-02-17 15:59:46

标签: silverlight silverlight-3.0 silverlight-toolkit data-visualization

我是Silverlight的新手,Silverlight.Controls.Toolkit只接触过几周(我也没有WPF经验)。

我正在尝试调整工具包的图表,以允许用户在查看图表时更改某些类型系列的数据点样式。

例如,显示数据点的线序列目前始终将点显示为圆圈。我希望用户能够选择用于绘制数据点的形状。

到目前为止,我实现这一目标的唯一方法是在资源字典中定义样式:

<Style x:Key="SquareDataPointStyle" TargetType="charting:LineDataPoint">
        <Setter Property="Background" Value="Black" />
        <Setter Property="BorderBrush" Value="Gray"/>
        <Setter Property="BorderThickness" Value="1"/>
        <Setter Property="IsTabStop" Value="False" />
        <Setter Property="Width" Value="8" />
        <Setter Property="Height" Value="8" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="charting:LineDataPoint">
                    <Grid x:Name="Root" Opacity="1">
                        <VisualStateManager.VisualStateGroups>
                            ...
                        </VisualStateManager.VisualStateGroups>
                        <ToolTipService.ToolTip>
                            <ContentControl Content="{TemplateBinding FormattedDependentValue}" />
                        </ToolTipService.ToolTip>
                        <Rectangle Stroke="{TemplateBinding BorderBrush}" Fill="{TemplateBinding Background}" />
                        <Rectangle x:Name="SelectionHighlight" Opacity="0" Fill="Red" />
                        <Rectangle x:Name="MouseOverHighlight" Opacity="0" Fill="White" />
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

..然后使用预定义样式的键以编程方式设置数据点样式:

series.DataPointStyle = (Style)Application.Current.Resources["SquareDataPointStyle"];            

这似乎不是一个很好的方法,因为每个DataPoint样式的样式定义都很长,我只想改变绘制的形状 - 而不是背景/工具提示等。

最干净/最“正确”的方法是什么?

0 个答案:

没有答案