private static void OnRangeEndChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { RangeSelector selector = (RangeSelector)d; d.CoerceValue(RangeStartProperty); d.CoerceValue(MaximumProperty); if (!selector.IsLoaded) { return; } selector.ComputedEndOffset = selector.CalcY((double)e.NewValue, selector._endThumb, false); selector.ComputedRangeWidth = selector.ComputedEndOffset - selector.ComputedStartOffset; selector.RaiseRangeChangedEvent(selector.RangeStart, (double)e.NewValue); }