作成日: 2021/05/14 最終更新日: 2021/05/14
文書種別
使用方法
詳細
指定したXの範囲にある棒の色を変更するには、シリーズのSymbolRenderingイベントでデータのX値が指定した範囲内かどうかを調べ、該当する場合はレンダリングエンジンのSetFillメソッドで色を設定します。
以下は、2008年以降について、棒の色を赤に変更するサンプルです。

【XAML】
<Grid>
<c1:C1FlexChart x:Name="flexChart">
<c1:Series SymbolRendering="Series_SymbolRendering" Binding = "BitCoin" SeriesName = "BitCoin">
<c1:Series.Style>
<c1:ChartStyle Fill="Green"/>
</c1:Series.Style>
</c1:Series>
</c1:C1FlexChart>
</Grid>
【コード】
using C1.Chart;
using C1.WPF.Chart;
namespace FlexChartLineSymbol
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
// データ連結
flexChart.ItemsSource = DataSource.GetCryptoRates();
flexChart.ChartType = ChartType.Column;
flexChart.BindingX = "Year";
}
private void Series_SymbolRendering(object sender, C1.WPF.Chart.RenderSymbolEventArgs e)
{
if ((e.Item as CryptoRate).Year > 2007)
{
e.Engine.SetFill(Brushes.Red);
}
}
public static class DataSource
{
private static Random rnd = new Random(1230);
public static List<CryptoRate> GetCryptoRates()
{
var data = new List<CryptoRate>();
for (int i = 1; i < 10; i++)
{
data.Add(new CryptoRate()
{
BitCoin = rnd.Next(10, 20),
LiteCoin = rnd.Next(2, 10),
Year = 2000 + i
}); ;
}
return data;
}
}
public class CryptoRate
{
public double BitCoin { get; set; }
public double LiteCoin { get; set; }
public int Year { get; set; }
}
}
}