本記事では、C#WPF OxyPlot にてLegend(凡例)のクリックを無効にする方法を書きます。
設定を見つけるのが大変だったので、記事にしてみました。
開発環境
- Windows10
- Microsoft Visual Studio Community2022
- .NET 6
- WPF アプリ
- OxyPlot 2.1.2
目次
Legend(凡例)のクリックを無効にする方法
無効にするには、Legend クラスのShowInvisibleSeriesをfalseにします。
実際のサンプルコードです。ハイライトしたところで、Legend(凡例) のクリックを無効に設定しています。
using OxyPlot;
using OxyPlot.Axes;
using OxyPlot.Legends;
using OxyPlot.Series;
namespace OxyPlotProject.OxyPlotPlotModel
{
/// <summary>
/// 凡例クリック無効PlotModelファクトリー
/// </summary>
internal class LegendClickDisablePlotModelFactory : AbstPlotModelFactory
{
public override PlotModel Create()
{
// モデル
PlotModel plotModel = new PlotModel();
plotModel.Title = "サンプルグラフ";
// ライン軸
LinearAxis linearAxis = new LinearAxis();
linearAxis.Position = AxisPosition.Bottom;
plotModel.Axes.Add(linearAxis);
// ライン
LineSeries lineSeries = new LineSeries();
lineSeries.Title = "サンプルライン";
lineSeries.Points.Add(new DataPoint(0, 34));
lineSeries.Points.Add(new DataPoint(10, 22));
lineSeries.Points.Add(new DataPoint(20, 45));
lineSeries.Points.Add(new DataPoint(30, 56));
lineSeries.Points.Add(new DataPoint(40, 43));
lineSeries.Points.Add(new DataPoint(50, 11));
lineSeries.Points.Add(new DataPoint(60, 21));
lineSeries.Points.Add(new DataPoint(70, 29));
lineSeries.Points.Add(new DataPoint(80, 17));
lineSeries.Points.Add(new DataPoint(90, 31));
lineSeries.Points.Add(new DataPoint(100, 23));
plotModel.Series.Add(lineSeries);
// 凡例
Legend legend = new Legend();
legend.LegendSymbolLength = 30;
legend.ShowInvisibleSeries = false;
plotModel.Legends.Add(legend);
return plotModel;
}
}
}
デバッグすると、Legend(凡例)のクリックが無効になっていることが分かります。
プロジェクトは↓からダウンロードできます。
まとめ
C#WPF OxyPlot にてLegend(凡例)のクリックを無効にする方法を書きました。
コメント