J'ai une carte StackedBarSeries
dans Silverlight 4 (dernière version).Comment créer StackedBarSeries avec une info-bulle personnalisée sans perdre les couleurs standard
J'ai créé un DataPointStyle
appelé MyDataPointStyle
pour une info-bulle personnalisée. En soi, cela brise la palette standard utilisée pour les différentes barres.
J'ai appliqué une palette personnalisée - comme décrit dans David Anson's blog au graphique. Toutefois, lorsque le jeu DataPointStyle
est défini pour mes objets SeriesDefinition
, il n'utilise pas cette palette.
Je ne suis pas sûr de ce que je suis absent - mais David dit spécifiquement:
... il permet l'utilisation de DynamicResource (actuellement seulement pris en charge par la plate-forme WPF) pour permettre aux utilisateurs Personnalisez leur DataPointStyle sans perdre par inadvertance les couleurs par défaut Palette. (Note: Une demande très populaire!)
Malheureusement, je suis perdu par inadvertance ces couleurs - et je ne vois pas pourquoi?
<chartingToolkit:Chart.Palette>
<dataviz:ResourceDictionaryCollection>
<ResourceDictionary>
<Style x:Key="DataPointStyle" TargetType="Control">
<Setter Property="Background" Value="Blue"/>
</Style>
</ResourceDictionary>
<ResourceDictionary>
<Style x:Key="DataPointStyle" TargetType="Control">
<Setter Property="Background" Value="Green"/>
</Style>
</ResourceDictionary>
<ResourceDictionary>
<Style x:Key="DataPointStyle" TargetType="Control">
<Setter Property="Background" Value="Red"/>
</Style>
</ResourceDictionary>
</dataviz:ResourceDictionaryCollection>
</chartingToolkit:Chart.Palette>
<chartingToolkit:Chart.Series>
<chartingToolkit:StackedBarSeries>
<chartingToolkit:SeriesDefinition
IndependentValueBinding="{Binding SKU}"
DependentValueBinding="{Binding Qty}"
DataPointStyle="{StaticResource MyDataPointStyle}"
Title="Regular"/>
<chartingToolkit:SeriesDefinition
IndependentValueBinding="{Binding SKU}"
DependentValueBinding="{Binding Qty}"
DataPointStyle="{StaticResource MyDataPointStyle}"
Title="FSP Orders"/>
<chartingToolkit:StackedBarSeries.IndependentAxis>
<chartingToolkit:CategoryAxis Title="SKU" Orientation="Y" FontStyle="Italic" AxisLabelStyle="{StaticResource LeftAxisStyle}"/>
</chartingToolkit:StackedBarSeries.IndependentAxis>
<chartingToolkit:StackedBarSeries.DependentAxis>
<chartingToolkit:LinearAxis Orientation="X" ExtendRangeToOrigin="True" Minimum="0" ShowGridLines="True" />
</chartingToolkit:StackedBarSeries.DependentAxis>
</chartingToolkit:StackedBarSeries >
</chartingToolkit:Chart.Series>
</chartingToolkit:Chart>
je avais lu que 'jusqu'à présent' (trois fois je lis cette phrase). hmm je suppose que cela l'expliquerait. Je suis toujours confus comment je peux appliquer la palette personnalisée dans le style? la structure 'Palette' ci-dessus est définie sur la propriété 'Palette' de Chart mais il n'y a pas de membre 'Palette' sur un BarDataPoint. –
@Simon: Une palette fournit un ensemble de __styles__. Les DataPoints de chaque série reçoivent un style de la "palette". La propriété 'Palette' manquante que vous recherchez est donc la propriété' Style'. Si vous fournissez votre propre valeur pour le DataPointStyle, cela remplace tout ce qui est fourni par la palette. – AnthonyWJones
donc si je veux 3 couleurs différentes dans mon tableau dois-je fournir une palette avec les points de données dupliqué dans son intégralité 3 fois - chacun avec une couleur différente? –