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.CalcY(selector.RangeStart, selector._startThumb, true); selector.ComputedEndOffset = selector.CalcY(selector.RangeEnd, selector._endThumb, false); 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.CalcY((double)e.NewValue, selector._endThumb, false); selector.ComputedRangeWidth = selector.ComputedEndOffset - selector.ComputedStartOffset; selector.RaiseRangeChangedEvent(selector.RangeStart, (double)e.NewValue); }