protected override void OnBindingPathChanged(DependencyPropertyChangedEventArgs args)
 {
     OpenValues.Clear();
     HighValues.Clear();
     LowValues.Clear();
     CloseValues.Clear();
     Segment = null;
     base.OnBindingPathChanged(args);
 }
 /// <summary>
 /// Called when DataSource property changed
 /// </summary>
 /// <param name="oldValue"></param>
 /// <param name="newValue"></param>
 protected override void OnDataSourceChanged(IEnumerable oldValue, IEnumerable newValue)
 {
     OpenValues.Clear();
     HighValues.Clear();
     LowValues.Clear();
     CloseValues.Clear();
     Segment = null;
     GeneratePoints(new string[] { High, Low, Open, Close }, HighValues, LowValues, OpenValues, CloseValues);
     isPointValidated = false;
     this.UpdateArea();
 }