private static void OnMinValueUpdate(DependencyObject obj, DependencyPropertyChangedEventArgs e)
        {
            CircularSlider slider = obj as CircularSlider;

            if (slider != null)
            {
                slider.Update();
            }
        }
        private static void OnMinAngleUpdate(DependencyObject obj, DependencyPropertyChangedEventArgs e)
        {
            CircularSlider slider = obj as CircularSlider;

            if (slider != null)
            {
                if (slider.MinimumAngle > slider.MaximumAngle)
                {
                    slider.MinimumAngle = slider.MaximumAngle - 10;
                }
            }
        }
        private static void OnValueUpdate(DependencyObject obj, DependencyPropertyChangedEventArgs e)
        {
            CircularSlider slider = obj as CircularSlider;

            if (slider != null)
            {
                if (slider.Value > slider.MaximumValue)
                {
                    slider.Value = slider.MaximumValue;
                }
                if (slider.Value < slider.MinimumValue)
                {
                    slider.Value = slider.MinimumValue;
                }
                slider.Update();
            }
        }
        private static object OnCoerceValue(DependencyObject obj, object value)
        {
            double current = (double)value;

            CircularSlider slider = obj as CircularSlider;

            if (obj != null)
            {
                if (current < slider.MinimumValue)
                {
                    current = slider.MinimumValue;
                }
                if (current > slider.MaximumValue)
                {
                    current = slider.MaximumValue;
                }
            }

            return(current);
        }