client/src/Iri.Modernisation.Controls/View/ExtendedSlider.cs
changeset 38 bd33267300aa
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/client/src/Iri.Modernisation.Controls/View/ExtendedSlider.cs	Thu Feb 04 16:38:04 2010 +0100
@@ -0,0 +1,69 @@
+using System;
+using System.Net;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Documents;
+using System.Windows.Ink;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Shapes;
+using System.Windows.Controls.Primitives;
+namespace Iri.Modernisation.Controls.View
+{
+    public class ExtendedSlider : Slider
+    {
+
+        public ExtendedSlider()
+            : base()
+        {
+            DefaultStyleKey = typeof(Slider); 
+        }
+
+          /// <summary> 
+        /// Fired when the thumb has been clicked, and dragging is initiated 
+        /// </summary> 
+        public event EventHandler<EventArgs> ThumbDragStarted; 
+ 
+        /// <summary> 
+        /// Fired when the thumb has been released 
+        /// </summary> 
+        public event EventHandler<EventArgs> ThumbDragCompleted; 
+      
+ 
+        public override void OnApplyTemplate() 
+        { 
+            base.OnApplyTemplate(); 
+ 
+            //Set up drag event handlers 
+            Thumb thumb = this.GetTemplateChild("HorizontalThumb") as Thumb; 
+            if (thumb != null) 
+            { 
+                thumb.DragStarted += new DragStartedEventHandler(thumb_DragStarted); 
+                thumb.DragCompleted += new DragCompletedEventHandler(thumb_DragCompleted); 
+            } 
+        } 
+ 
+        void thumb_DragCompleted(object sender, DragCompletedEventArgs e) 
+        { 
+            OnThumbDragCompleted(this, new EventArgs()); 
+        } 
+ 
+        void thumb_DragStarted(object sender, DragStartedEventArgs e) 
+        { 
+            OnThumbDragStarted(this, new EventArgs()); 
+        } 
+ 
+        protected virtual void OnThumbDragStarted(object sender, EventArgs e) 
+        { 
+            if (ThumbDragStarted != null) 
+                ThumbDragStarted(sender, e); 
+        } 
+ 
+        protected virtual void OnThumbDragCompleted(object sender, EventArgs e) 
+        { 
+            if (ThumbDragCompleted != null) 
+                ThumbDragCompleted(sender, e); 
+        } 
+    }
+}