更改Silverlight图表的颜色

时间:2011-04-21 15:10:11

标签: c# silverlight xaml charts

我可以更改silverlight饼图的颜色或更改工具提示设计。我想要的是做两件事。

这是我的图表代码:

                <charts:Chart x:Name="MyChart" Title="MyChart">
                    <charts:Chart.LegendStyle>
                        <Style TargetType="datavis:Legend">
                            <Setter Property="Width" Value="0"/>
                        </Style>
                    </charts:Chart.LegendStyle>
                    <charts:PieSeries 
                    ItemsSource="{Binding}"
                    IndependentValuePath="Title"
                    DependentValuePath="Value"  
                    SelectionChanged="PieSeries_SelectionChanged" 
                    DataPointStyle="{StaticResource MyPieDataPointTemplate}">
                    </charts:PieSeries>
                </charts:Chart>

这是myPieDataPointTemplate的资源:

<Style x:Key="MyPieDataPointTemplate" TargetType="toolkit:PieDataPoint">
    <Setter Property="BorderBrush" Value="Black"/>
    <Setter Property="BorderThickness" Value="1"/>
    <Setter Property="IsTabStop" Value="False"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="toolkit:PieDataPoint">
                <Grid x:Name="Root" Opacity="0">
                    <VisualStateManager.VisualStateGroups>
                        <VisualStateGroup x:Name="CommonStates">
                            <VisualStateGroup.Transitions>
                                <VisualTransition GeneratedDuration="0:0:0.1"/>
                            </VisualStateGroup.Transitions>
                            <VisualState x:Name="Normal"/>
                            <VisualState x:Name="MouseOver">
                                <Storyboard>
                                    <DoubleAnimation Duration="0" 
                                     Storyboard.TargetName="MouseOverHighlight" 
                                     Storyboard.TargetProperty="Opacity" To="0.6"/>
                                </Storyboard>
                            </VisualState>
                        </VisualStateGroup>
                        <VisualStateGroup x:Name="SelectionStates">
                            <VisualStateGroup.Transitions>
                                <VisualTransition GeneratedDuration="0:0:0.1"/>
                            </VisualStateGroup.Transitions>
                            <VisualState x:Name="Unselected"/>
                            <VisualState x:Name="Selected">
                                <Storyboard>
                                    <DoubleAnimation Duration="0" 
                                     Storyboard.TargetName="SelectionHighlight" 
                                     Storyboard.TargetProperty="Opacity" To="0.6"/>
                                </Storyboard>
                            </VisualState>
                        </VisualStateGroup>
                        <VisualStateGroup x:Name="RevealStates">
                            <VisualStateGroup.Transitions>
                                <VisualTransition GeneratedDuration="0:0:0.5"/>
                            </VisualStateGroup.Transitions>
                            <VisualState x:Name="Shown">
                                <Storyboard>
                                    <DoubleAnimation Duration="0" 
                                     Storyboard.TargetName="Root" 
                                     Storyboard.TargetProperty="Opacity" 
                                     To="1"/>
                                    <DoubleAnimation 
                        Storyboard.TargetName="Slice" 
                        Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)"
                        To="1" />
                                    <DoubleAnimation 
                        Storyboard.TargetName="Slice" 
                        Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)"
                        To="1" />
                                </Storyboard>
                            </VisualState>
                            <VisualState x:Name="Hidden">
                                <Storyboard>
                                    <DoubleAnimation Duration="0" 
                                     Storyboard.TargetName="Root" 
                                     Storyboard.TargetProperty="Opacity" 
                                     To="0"/>
                                    <DoubleAnimation 
                        Storyboard.TargetName="Slice" 
                        Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)"
                        To="0" />
                                    <DoubleAnimation 
                        Storyboard.TargetName="Slice" 
                        Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)"
                        To="0" />
                                </Storyboard>
                            </VisualState>
                        </VisualStateGroup>
                    </VisualStateManager.VisualStateGroups>
                    <Path x:Name="Slice" Fill="{TemplateBinding Background}" Stroke="{TemplateBinding BorderBrush}" Data="{TemplateBinding Geometry}" RenderTransformOrigin="0.5,0.5">
                        <Path.RenderTransform>
                            <TransformGroup>
                                <ScaleTransform ScaleX="0" ScaleY="0"/>
                                <SkewTransform/>
                                <RotateTransform/>
                                <TranslateTransform/>
                            </TransformGroup>
                        </Path.RenderTransform>
                        <ToolTipService.ToolTip>
                            <StackPanel>
                                <ContentControl Content="{TemplateBinding FormattedDependentValue}"/>
                                <ContentControl Content="{TemplateBinding FormattedRatio}"/>
                            </StackPanel>
                        </ToolTipService.ToolTip>
                    </Path>
                    <Path x:Name="SelectionHighlight" IsHitTestVisible="False" Opacity="0" Fill="Red" Data="{TemplateBinding GeometrySelection}"/>
                    <Path x:Name="MouseOverHighlight" IsHitTestVisible="False" Opacity="0" Fill="White" Data="{TemplateBinding GeometryHighlight}"/>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

0 个答案:

没有答案