public void Refresh() { foreach (var element in _elements) { HideElement(element); } _elements.Clear(); _elements.Add(new HorizontalAxisElement <TX, TY>(new Pen(Brushes.BlueViolet, 1), default(TY))); // Refreshing Graphs for (int i = 0; i < ActualWidth; i++) { IEnumerable <GraphSegmentElement <TX, TY> > graphSegments = GraphProvider.GetGraphSegments(new Segment <TX>(Projector.GetX(i), Projector.GetX(i + 1))); foreach (var graphSegmentElement in graphSegments) { _elements.Add(graphSegmentElement); } } foreach (var element in _elements) { VisualizeElement(element); } }