作成日: 2013/06/25 最終更新日: 2013/06/25
文書種別
使用方法
詳細
特定の値だけ軸ラベルの色を変更するには、Axis.AnnoTemplateプロパティにTextBlockを配置して、TextBlockのForegroundに「値を色に変換するConverter」を設定します。
◎サンプルコード(XAML)
◎サンプルコード(Visual Basic)
◎サンプルコード(C#)
◎サンプルコード(XAML)
<c1:C1Chart ChartType="Column">
<c1:C1Chart.Resources>
<local:ColorConverter x:Key="converter" />
</c1:C1Chart.Resources>
<c1:C1Chart.View>
<c1:ChartView>
<c1:ChartView.AxisX>
<c1:Axis>
<c1:Axis.AnnoTemplate>
<DataTemplate>
<Grid>
<TextBlock Foreground="{Binding Converter={StaticResource converter}}" Text="{Binding Path=DataObject}" />
</Grid>
</DataTemplate>
</c1:Axis.AnnoTemplate>
</c1:Axis>
</c1:ChartView.AxisX>
</c1:ChartView>
</c1:C1Chart.View>
<c1:C1Chart.Data>
<c1:ChartData>
<c1:DataSeries Values="20, 22, 19, 24, 25" />
<c1:DataSeries Values="8, 12, 10, 12, 15" />
</c1:ChartData>
</c1:C1Chart.Data>
</c1:C1Chart>
<c1:C1Chart.Resources>
<local:ColorConverter x:Key="converter" />
</c1:C1Chart.Resources>
<c1:C1Chart.View>
<c1:ChartView>
<c1:ChartView.AxisX>
<c1:Axis>
<c1:Axis.AnnoTemplate>
<DataTemplate>
<Grid>
<TextBlock Foreground="{Binding Converter={StaticResource converter}}" Text="{Binding Path=DataObject}" />
</Grid>
</DataTemplate>
</c1:Axis.AnnoTemplate>
</c1:Axis>
</c1:ChartView.AxisX>
</c1:ChartView>
</c1:C1Chart.View>
<c1:C1Chart.Data>
<c1:ChartData>
<c1:DataSeries Values="20, 22, 19, 24, 25" />
<c1:DataSeries Values="8, 12, 10, 12, 15" />
</c1:ChartData>
</c1:C1Chart.Data>
</c1:C1Chart>
◎サンプルコード(Visual Basic)
Imports System.Windows.Data
Imports System.Globalization
Imports C1.Silverlight.Chart
Public Class ColorConverter
Implements IValueConverter
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.Convert
Dim point = TryCast(value, AxisPoint)
If point.Value = 2 Then
Return New SolidColorBrush(Colors.Red)
Else
Return New SolidColorBrush(Colors.Black)
End If
End Function
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.ConvertBack
Return Nothing
End Function
End Class
Imports System.Globalization
Imports C1.Silverlight.Chart
Public Class ColorConverter
Implements IValueConverter
Public Function Convert(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.Convert
Dim point = TryCast(value, AxisPoint)
If point.Value = 2 Then
Return New SolidColorBrush(Colors.Red)
Else
Return New SolidColorBrush(Colors.Black)
End If
End Function
Public Function ConvertBack(value As Object, targetType As Type, parameter As Object, culture As CultureInfo) As Object Implements IValueConverter.ConvertBack
Return Nothing
End Function
End Class
◎サンプルコード(C#)
using System.Windows.Data;
using System.Globalization;
using C1.Silverlight.Chart;
public class ColorConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var point = value as AxisPoint;
if (point.Value == 2)
{
return new SolidColorBrush(Colors.Red);
}
else
{
return new SolidColorBrush(Colors.Black);
}
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return null;
}
}
using System.Globalization;
using C1.Silverlight.Chart;
public class ColorConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var point = value as AxisPoint;
if (point.Value == 2)
{
return new SolidColorBrush(Colors.Red);
}
else
{
return new SolidColorBrush(Colors.Black);
}
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return null;
}
}
旧文書番号
80190