static void OnSquarePeaksChanged(DependencyObject obj, DependencyPropertyChangedEventArgs e)
        {
            GraphDataBar bar = obj as GraphDataBar;

            if (bar != null)
            {
                bar.UpdateAllGraphs();
            }
        }
        public GraphDataSideBar(GraphDataBar graphDataBar)
        {
            this.graphDataBar = graphDataBar;
            this.Width        = 40;
            UpdateYAxisValues();
            this.SizeChanged += OnSizeChanged;

            this.MouseLeftButtonDown  += OnMouseLeftButtonDown;
            this.MouseRightButtonDown += OnMouseRightButtonDown;

            this.MouseLeftButtonUp  += OnMouseLeftButtonUp;
            this.MouseRightButtonUp += OnMouseRightButtonUp;
            this.MouseMove          += OnMouseMove;
            this.LostMouseCapture   += OnLostMouseCapture;

            CreatePen();

            // default scale display converter is just passthrough
            this.YScaleDisplayConverter = y => y;
        }
        public GraphDataSideBar(GraphDataBar graphDataBar)
        {
            this.graphDataBar = graphDataBar;
            this.Width = 40;
            UpdateYAxisValues();
            this.SizeChanged += OnSizeChanged;

            this.MouseLeftButtonDown += OnMouseLeftButtonDown;
            this.MouseRightButtonDown += OnMouseRightButtonDown;

            this.MouseLeftButtonUp += OnMouseLeftButtonUp;
            this.MouseRightButtonUp += OnMouseRightButtonUp;
            this.MouseMove += OnMouseMove;
            this.LostMouseCapture += OnLostMouseCapture;

            CreatePen();

            // default scale display converter is just passthrough
            this.YScaleDisplayConverter = y => y;
        }