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(); }