Exemplo n.º 1
0
        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);
        }