using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using Tango.Core.EventArguments; namespace Tango.Touch.Controls { public class TouchSlider : Slider { static TouchSlider() { DefaultStyleKeyProperty.OverrideMetadata(typeof(TouchSlider), new FrameworkPropertyMetadata(typeof(TouchSlider))); } public bool IsMouseOrTouchDown { get { return (bool)GetValue(IsMouseOrTouchDownProperty); } set { SetValue(IsMouseOrTouchDownProperty, value); } } public static readonly DependencyProperty IsMouseOrTouchDownProperty = DependencyProperty.Register("IsMouseOrTouchDown", typeof(bool), typeof(TouchSlider), new PropertyMetadata(false)); public ControlTemplate ThumbTemplate { get { return (ControlTemplate)GetValue(ThumbTemplateProperty); } set { SetValue(ThumbTemplateProperty, value); } } public static readonly DependencyProperty ThumbTemplateProperty = DependencyProperty.Register("ThumbTemplate", typeof(ControlTemplate), typeof(TouchSlider), new PropertyMetadata(null)); public TouchSlider() { this.RegisterForPreviewMouseOrTouchDown(OnMouseDown); this.RegisterForPreviewMouseOrTouchUp(OnMouseUp); } private void OnMouseUp(object sender, MouseOrTouchEventArgs e) { IsMouseOrTouchDown = false; } private void OnMouseDown(object sender, MouseOrTouchEventArgs e) { IsMouseOrTouchDown = true; } } }