1

回答

谢谢Filip,终于找到了设置颜色的方法。我只需要BackgroundDataPointStyle. 我在这里发布我的答案。还找到了一种如何修改默认工具提示的方法。

在 Silverlight 工具包的 LineChart 上显示不同颜色的线条?

在 Silverlight 图表中使用自定义工具提示

<charting:LineSeries.DataPointStyle>
    <Style TargetType="charting:LineDataPoint">
        <Setter Property="Width" Value="17" />
        <Setter Property="Height" Value="17" />
        <Setter Property="Background" Value="Lime"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="charting:LineDataPoint">
                    <Grid>
                        <ToolTipService.ToolTip>
                            <ContentControl Content="{Binding Value,Converter={StaticResource MyConv},ConverterParameter=TEST}"/>
                        </ToolTipService.ToolTip>
                        <Ellipse Fill="Lime" Stroke="Lime" StrokeThickness="3" />
                    </Grid>
                </ControlTemplate>

            </Setter.Value>
        </Setter>
    </Style>
</charting:LineSeries.DataPointStyle>

问题 1

我正在图表中创建多个折线图系列。现在 WinRT XAML Toolkit 以随机方式为每个系列分配颜色。我正在为数据点使用自定义样式,所以当我使用自定义样式时,颜色的随机性会消失。那么如何设置或获取系列的随机颜色?如果我能得到颜色,那么我可以在数据点中使用该颜色,如果我可以设置颜色,那么我将自己生成随机颜色。

问题2

此外,当将鼠标悬停在数据点上时,工具提示会显示相关值,但我想显示更多详细信息,我该如何实现呢?

这是我的自定义样式代码。

<charting:Chart x:Name="LineChart" Title="Line Chart" Margin="70,0">
    <charting:LineSeries
                Title="Population 1"
                IndependentValueBinding="{Binding Name}"
                DependentValueBinding="{Binding Value}"
                IsSelectionEnabled="True">
            <charting:LineSeries.DataPointStyle>
                <Style TargetType="charting:LineDataPoint">
                    <Setter Property="Width" Value="17" />
                    <Setter Property="Height" Value="17" />
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="charting:LineDataPoint">
                                <Ellipse Fill="Green" Stroke="Green" StrokeThickness="3" />
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>
            </charting:LineSeries.DataPointStyle>
        </charting:LineSeries>

    <charting:LineSeries
            Title="Population 2"
            IndependentValueBinding="{Binding Name}"
            DependentValueBinding="{Binding Value}"
            IsSelectionEnabled="True" Foreground="Blue">
        <charting:LineSeries.DataPointStyle>
            <Style TargetType="charting:LineDataPoint">
                <Setter Property="Width" Value="17" />
                <Setter Property="Height" Value="17" />
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="charting:LineDataPoint">
                            <Ellipse Fill="Red" Stroke="Red" StrokeThickness="3" />
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </charting:LineSeries.DataPointStyle>
    </charting:LineSeries>
</charting:Chart>

随机颜色图表(无自定义数据点样式)

在此处输入图像描述

没有随机颜色的图表(使用自定义数据点样式)[你可以看到两条线都有黄色]

在此处输入图像描述

4

1 回答 1

0

尝试 Bing 以获取silverlight 工具包图表自定义线条颜色会产生一些可能有用的页面,例如. 它与 WinRT XAML 工具包的工作方式基本相同,但它们自定义基于 Silverlight 的模板 - 您需要自定义基于 WinRT XAML 工具包的模板,您可以尝试使用 Blend/Visual Studio 设计器提取或获取您可以从CodePlex获取的源中的原始模板。

于 2013-07-11T14:48:47.570 回答