前回の記事ではX, Yのデータを含むモデルを新たに起こしているが,x, yだけなら標準ではObservablePointも使用できるので一部訂正
つまり,ObservablePointを使うと,前回のXYPointModelはわざわざつけなくて良い.
ChartValuesはListでもよいらしいが確認していない.
実はこの例では以下のようにデータグリッドを追加するとデータグリッド上での変更がチャートに反映されるということになっている.
<DataGrid ItemsSource="{Binding listXYPoint}" FontSize="20"/>
まあ使うかどうかはべつですが
using MahApps.Metro.Controls;
using LiveCharts;
using LiveCharts.Wpf;
using LiveCharts.Configurations;
using LiveCharts.Defaults;
namespace LiveChartsTEST
{
/// <summary>
/// MainWindow.xaml の相互作用ロジック
/// </summary>
public partial class MainWindow : MetroWindow
{
public MainWindow()
{
InitializeComponent();
ChartData cd = new ChartData();
var sc = new SeriesCollection()
{
new LineSeries
{
LineSmoothness = 0,
Values = cd.listXYPoint
}
};
cd.seriesCollection = sc;
this.DataContext = cd;
}
public class ChartData
{
public SeriesCollection seriesCollection { get; set; }
public ChartValues<ObservablePoint> listXYPoint { get; set; } = new ChartValues<ObservablePoint>();
public ChartData()
{
for (int i = 0; i < 10; i++)
{
listXYPoint.Add(new ObservablePoint(i, i * i));
}
}
}
}
}
タグ:WPF

