private static void OnMaximumChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) { d.CoerceValue(RangeStartProperty); d.CoerceValue(RangeEndProperty); RangeSelector selector = (RangeSelector)d; if (!selector.IsLoaded) { return; } selector.ComputedStartOffset = selector.CalcX(selector.RangeStart, selector._startThumb); selector.ComputedEndOffset = selector.CalcX(selector.RangeEnd, selector._endThumb); selector.ComputedRangeWidth = selector.ComputedEndOffset - selector.ComputedStartOffset; }
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.CalcX((double)e.NewValue, selector._endThumb); selector.ComputedRangeWidth = selector.ComputedEndOffset - selector.ComputedStartOffset; selector.RaiseRangeChangedEvent(selector.RangeStart, (double)e.NewValue); }