public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if (!(value is Border))
            {
                return(0.0);
            }

            Border sliderBorder = (Border)value;

            DependencyObject searchObject = sliderBorder;

            while (searchObject != null && !(searchObject is VolumeSlider))
            {
                searchObject = VisualTreeHelper.GetParent(searchObject);
            }

            if (!(searchObject is VolumeSlider))
            {
                return(0.0);
            }

            VolumeSlider volumeSlider = (VolumeSlider)searchObject;

            return(volumeSlider.ActiveSoundLevel / volumeSlider.Maximum * (sliderBorder.ActualWidth - sliderBorder.Margin.Right + 1));
        }
        private static void gradientChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            VolumeSlider slider = (VolumeSlider)d;

            slider.UpdateSlider();
        }