private void SetDiagramDatasActions()
        {
            DiagramDatas.CollectionChanged += async(s, e) =>
            {
                if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
                {
                    var newEle = e.NewItems;
                    for (int i = 0; i < newEle.Count; i++)
                    {
                        var color   = ColorUtil.RandomColorString();
                        var ele     = newEle[i] as IEnumerable <Point>;
                        var lineSet = new LineDataset <Point>(newEle[i] as IEnumerable <Point>)
                        {
                            Label            = "Sec " + (DiagramDatas.Count()),
                            BackgroundColor  = color,
                            BorderWidth      = borderWidth,
                            BorderColor      = color,
                            PointHitRadius   = 5,
                            PointHoverRadius = 5,
                        };
                        _config.Data.Datasets.Add(lineSet);
                    }
                }
                else if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Remove)
                {
                    var newEle = e.OldItems;
                    for (int i = 0; i < newEle.Count; i++)
                    {
                        var ele = _config.Data.Datasets.ToList().Find((x) =>
                                                                      (x as LineDataset <Point>).Label == "Sec " + (e.OldStartingIndex + 1));

                        _config.Data.Datasets.Remove(ele);
                    }
                    resetLabelText();
                    OnChangedSecetion(-1);
                }
                else if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Replace)
                {
                    var oldEle = e.OldItems;
                    var newEle = e.NewItems;
                    for (int i = 0; i < oldEle.Count; i++)
                    {
                        var ele = _config.Data.Datasets.ToList().Find((x) =>
                                                                      (x as LineDataset <Point>).Label == "Sec " + (e.OldStartingIndex + 1)) as LineDataset <Point>;

                        ele.RemoveAll(x => true);
                        ele.AddRange(newEle[i] as IEnumerable <Point>);
                    }
                    OnChangedSecetion(-1);
                }
                await InvokeAsync(this.StateHasChanged);
            };
        }
 private void OnDeleteItem(int index)
 {
     DiagramDatas.RemoveAt(index);
     var a = index;
 }