protected override void OnApplyTemplate() { sliderContainer = GetTemplateChild("SliderContainer") as FrameworkElement; if (sliderContainer != null) { sliderContainer.PointerPressed += SliderContainer_PointerPressed; sliderContainer.AddHandler(PointerPressedEvent, new PointerEventHandler(SliderContainer_PointerPressed), true); sliderContainer.AddHandler(PointerReleasedEvent, new PointerEventHandler(SliderContainer_PointerReleased), true); sliderContainer.AddHandler(PointerCanceledEvent, new PointerEventHandler(SliderContainer_PointerReleased), true); sliderContainer.AddHandler(PointerCaptureLostEvent, new PointerEventHandler(SliderContainer_PointerReleased), true); sliderContainer.ManipulationMode = Orientation == Orientation.Vertical ? ManipulationModes.TranslateY : ManipulationModes.TranslateX; sliderContainer.ManipulationStarted += SliderContainer_ManipulationStarted; sliderContainer.ManipulationDelta += SliderContainer_ManipulationDelta; sliderContainer.ManipulationCompleted += SliderContainer_ManipulationCompleted; sliderContainer.Unloaded += SliderContainer_Unloaded; sliderContainerPointerOverManager = new PointerOverManager(sliderContainer, true); sliderContainerPointerOverManager.IsPointerOverChanged += SliderContainerPointerOverManager_IsPointerOverChanged; } horizontalTemplate = GetTemplateChild("HorizontalTemplate") as Grid; if (horizontalTemplate != null) { horizontalTemplate.SizeChanged += HorizontalTemplate_SizeChanged; } horizontalThumb = GetTemplateChild("HorizontalThumb") as FrameworkElement; if (horizontalThumb != null) { horizontalThumb.RenderTransform = horizontalThumbTransform; horizontalThumb.SizeChanged += HorizontalThumb_SizeChanged; } horizontalDecreaseRect = GetTemplateChild("HorizontalDecreaseRect") as FrameworkElement; if (horizontalDecreaseRect != null) { horizontalDecreaseRect.RenderTransform = horizontalDecreaseRectTransform; horizontalDecreaseRect.RenderTransformOrigin = new Point(0.0, 0.5); } verticalTemplate = GetTemplateChild("VerticalTemplate") as Grid; if (verticalTemplate != null) { verticalTemplate.SizeChanged += VerticalTemplate_SizeChanged; } verticalThumb = GetTemplateChild("VerticalThumb") as FrameworkElement; if (verticalThumb != null) { verticalThumb.RenderTransform = verticalThumbTransform; verticalThumb.SizeChanged += VerticalThumb_SizeChanged; } verticalDecreaseRect = GetTemplateChild("VerticalDecreaseRect") as FrameworkElement; if (verticalDecreaseRect != null) { verticalDecreaseRect.RenderTransform = horizontalDecreaseRectTransform; verticalDecreaseRect.RenderTransformOrigin = new Point(0.5, 1.0); } base.OnApplyTemplate(); UpdateControls(); }
private void SliderContainerPointerOverManager_IsPointerOverChanged(PointerOverManager sender) { isPointerOver = sender.IsPointerOver; UpdateVisualState(); }