client/src/Iri.Modernisation.Controls/View/ExtendedSlider.cs
author totetm <>
Thu, 04 Feb 2010 16:38:04 +0100
changeset 38 bd33267300aa
permissions -rw-r--r--
- FranceCulture Project - Ldt and Iri Parse Method - Bug MenuableUserControl
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
38
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
     1
using System;
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
     2
using System.Net;
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
     3
using System.Windows;
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
     4
using System.Windows.Controls;
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
     5
using System.Windows.Documents;
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
     6
using System.Windows.Ink;
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
     7
using System.Windows.Input;
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
     8
using System.Windows.Media;
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
     9
using System.Windows.Media.Animation;
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    10
using System.Windows.Shapes;
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    11
using System.Windows.Controls.Primitives;
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    12
namespace Iri.Modernisation.Controls.View
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    13
{
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    14
    public class ExtendedSlider : Slider
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    15
    {
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    16
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    17
        public ExtendedSlider()
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    18
            : base()
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    19
        {
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    20
            DefaultStyleKey = typeof(Slider); 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    21
        }
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    22
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    23
          /// <summary> 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    24
        /// Fired when the thumb has been clicked, and dragging is initiated 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    25
        /// </summary> 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    26
        public event EventHandler<EventArgs> ThumbDragStarted; 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    27
 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    28
        /// <summary> 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    29
        /// Fired when the thumb has been released 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    30
        /// </summary> 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    31
        public event EventHandler<EventArgs> ThumbDragCompleted; 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    32
      
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    33
 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    34
        public override void OnApplyTemplate() 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    35
        { 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    36
            base.OnApplyTemplate(); 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    37
 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    38
            //Set up drag event handlers 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    39
            Thumb thumb = this.GetTemplateChild("HorizontalThumb") as Thumb; 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    40
            if (thumb != null) 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    41
            { 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    42
                thumb.DragStarted += new DragStartedEventHandler(thumb_DragStarted); 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    43
                thumb.DragCompleted += new DragCompletedEventHandler(thumb_DragCompleted); 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    44
            } 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    45
        } 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    46
 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    47
        void thumb_DragCompleted(object sender, DragCompletedEventArgs e) 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    48
        { 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    49
            OnThumbDragCompleted(this, new EventArgs()); 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    50
        } 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    51
 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    52
        void thumb_DragStarted(object sender, DragStartedEventArgs e) 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    53
        { 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    54
            OnThumbDragStarted(this, new EventArgs()); 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    55
        } 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    56
 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    57
        protected virtual void OnThumbDragStarted(object sender, EventArgs e) 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    58
        { 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    59
            if (ThumbDragStarted != null) 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    60
                ThumbDragStarted(sender, e); 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    61
        } 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    62
 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    63
        protected virtual void OnThumbDragCompleted(object sender, EventArgs e) 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    64
        { 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    65
            if (ThumbDragCompleted != null) 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    66
                ThumbDragCompleted(sender, e); 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    67
        } 
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    68
    }
bd33267300aa - FranceCulture Project
totetm <>
parents:
diff changeset
    69
}