protected override void OnApplyTemplate() { base.OnApplyTemplate(); // Dispose previously registered handlers if any _eventSubscriptions.Disposable = null; _headerContentPresenter = GetTemplateChild("HeaderContentPresenter") as ContentPresenter; if (_headerContentPresenter != null) { UpdateHeaderVisibility(); } _horizontalThumb = GetTemplateChild("HorizontalThumb") as Thumb; _verticalThumb = GetTemplateChild("VerticalThumb") as Thumb; _horizontalThumb?.DisablePointersTracking(); _verticalThumb?.DisablePointersTracking(); _verticalTemplate = GetTemplateChild("VerticalTemplate") as FrameworkElement; _verticalTrackRect = GetTemplateChild("VerticalTrackRect") as Rectangle; _verticalDecreaseRect = GetTemplateChild("VerticalDecreaseRect") as Rectangle; _horizontalTemplate = GetTemplateChild("HorizontalTemplate") as FrameworkElement; _horizontalTrackRect = GetTemplateChild("HorizontalTrackRect") as Rectangle; _horizontalDecreaseRect = GetTemplateChild("HorizontalDecreaseRect") as Rectangle; _sliderContainer = GetTemplateChild("SliderContainer") as FrameworkElement; if (!IsLoaded) { _eventSubscriptions.Disposable = RegisterHandlers(); } if (HasXamlTemplate) { SizeChanged += (s, e) => ApplyValueToSlide(); ApplyValueToSlide(); } UpdateCommonState(useTransitions: false); }