作成日: 2022/02/17 最終更新日: 2022/04/27
文書種別
不具合
状況
修正済み
詳細
ヌル値(Double.NaN、Float.NaNなど)のデータを含む折れ線グラフにおいて、InterpolateNulls = falseに設定して、欠損データの補完を行わずヌル値を非表示にした場合、SelectedSeriesプロパティが不正になる事があります。
例えば下記コード※を用いて、折れ線をクリックした時にSelectionChangedイベントにてSelectedSeriesプロパティを取得して注釈を設定し、選択した線を太くするようにしても、クリックする位置によって結果が以下のように変わります。
(1) ヌル値の左側の領域で折れ線をクリック
線が太くならず、注釈が表示されない(不正。SelectedSeriesはnullを返す)
(2) ヌル値の右側の領域で折れ線をクリック
線は太くなり、注釈が表示される(期待する結果。SelectedSeriesは系列のオブジェクトを返す)
※ 設定コード
例えば下記コード※を用いて、折れ線をクリックした時にSelectionChangedイベントにてSelectedSeriesプロパティを取得して注釈を設定し、選択した線を太くするようにしても、クリックする位置によって結果が以下のように変わります。
(1) ヌル値の左側の領域で折れ線をクリック
線が太くならず、注釈が表示されない(不正。SelectedSeriesはnullを返す)
(2) ヌル値の右側の領域で折れ線をクリック
線は太くなり、注釈が表示される(期待する結果。SelectedSeriesは系列のオブジェクトを返す)
※ 設定コード
flexChart1.SelectionStyle = new ChartStyle() { StrokeThickness = 10 };
・・・(途中省略)・・・
private void FlexChart1_SelectionChanged(object sender, EventArgs e)
{
var p = Mouse.GetPosition(flexChart1);
if(flexChart1.SelectedSeries!=null)
{
annotation.Content = flexChart1.SelectedSeries.SeriesName;
annotation.Location = flexChart1.PointToData(p);
}
else
{
annotation.Location = new System.Windows.Point(-1,-1);
}
}
回避方法
この問題は2022J v1(4.5.20221.764)で修正されました。