WPFToolkitチャートコントロールを使用するときにデータポイント系列の色を明示的に設定する方法を知っているか、良い例を見つけた人はいますか?これをXAMLのスタイルとして設定したいと思います。
9606 次
2 に答える
6
チャートにパレットを設定できます。この例はColumnSeries用ですが、使用しているタイプに合わせて調整できます。
<charting:Chart ... Palette="{StaticResource MyPalette}">
パレットの定義は次のようになります。
<datavis:ResourceDictionaryCollection x:Key="MyPalette">
<ResourceDictionary>
<Style x:Key="DataPointStyle" BasedOn="{StaticResource ColumnSeries1Style}" TargetType="Control" />
</ResourceDictionary>
<ResourceDictionary>
<Style x:Key="DataPointStyle" BasedOn="{StaticResource ColumnSeries2Style}" TargetType="Control" />
</ResourceDictionary>
... add more if necessary
</datavis:ResourceDictionaryCollection>
「ColumnSeries1Style」および「ColumnSeries1Style」スタイルは、シリーズの背景ブラシを定義します。
<Style x:Key="ColumnSeries1Style" TargetType="Control">
<Setter Property="Background" Value="{StaticResource Series1Brush}" />
</Style>
<Style x:Key="ColumnSeries2Style" TargetType="Control">
<Setter Property="Background" Value="{StaticResource Series2Brush}" />
</Style>
ブラシは好きなように定義できます。デフォルトのグラフで使用されるグラデーション塗りつぶしを取得する方法は次のとおりです。
<Color x:Key="Series1Color" A="255" R="139" G="180" B="232" />
<Color x:Key="Series1HighlightColor" A="255" R="188" G="229" B="255" />
<RadialGradientBrush x:Key="Series1Brush">
<RadialGradientBrush.RelativeTransform>
<TransformGroup>
<ScaleTransform CenterX="0.5" CenterY="0.5" ScaleX="2.09" ScaleY="1.819" />
<TranslateTransform X="-0.425" Y="-0.486" />
</TransformGroup>
</RadialGradientBrush.RelativeTransform>
<GradientStop Color="{StaticResource Series1HighlightColor}"/>
<GradientStop Color="{StaticResource Series1Color}" Offset="1"/>
</RadialGradientBrush>
于 2010-09-13T18:59:32.647 に答える
4
誰かが興味を持った場合に備えて、もっと簡単な方法があります。ColumnSeriesでDataPointStyleを設定し、Backgroundプロパティを変更するだけです。
<DVC:ColumnSeries IndependentValueBinding="{Binding Path=Key}"
DependentValueBinding="{Binding Path=Value}">
<DVC:ColumnSeries.DataPointStyle>
<Style TargetType="DVC:ColumnDataPoint">
<Setter Property="Background" Value="#00777F"/>
</Style>
</DVC:ColumnSeries.DataPointStyle>
</DVC:ColumnSeries>
于 2015-04-16T18:44:37.473 に答える