/// <summary> /// Force redraw after data has been updated /// </summary> private void ForceRedraw() { State = HistogramState.Ready; Dispatcher.Invoke((Action) delegate() { InvalidateVisual(); } ); }
/// <summary> /// Overridden method that is invoked when a redraw is required /// </summary> /// <param name="dc"></param> protected override void OnRender(DrawingContext dc) { if (State != HistogramState.Ready) return; State = HistogramState.Redraw; if(Data == null || Data.Count == 0) RenderEmpty(dc); else { var box = CalculateBox(); RenderBox(dc, box); RenderHints(dc, box); RenderColumns(dc, box); } State = HistogramState.Ready; }