Skip to content

Commit 740491d

Browse files
committed
RangeSelector: Split out Events file
1 parent 3c5dc53 commit 740491d

File tree

2 files changed

+57
-23
lines changed

2 files changed

+57
-23
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
// Licensed to the .NET Foundation under one or more agreements.
2+
// The .NET Foundation licenses this file to you under the MIT license.
3+
// See the LICENSE file in the project root for more information.
4+
5+
using System;
6+
using Windows.Foundation;
7+
using Windows.UI.Xaml;
8+
using Windows.UI.Xaml.Controls;
9+
using Windows.UI.Xaml.Controls.Primitives;
10+
using Windows.UI.Xaml.Shapes;
11+
12+
namespace Microsoft.Toolkit.Uwp.UI.Controls
13+
{
14+
/// <summary>
15+
/// RangeSelector is a "double slider" control for range values.
16+
/// </summary>
17+
public partial class RangeSelector : Control
18+
{
19+
/// <summary>
20+
/// Event raised when lower or upper range values are changed.
21+
/// </summary>
22+
public event EventHandler<RangeChangedEventArgs> ValueChanged;
23+
24+
/// <summary>
25+
/// Event raised when lower or upper range thumbs start being dragged.
26+
/// </summary>
27+
public event DragStartedEventHandler ThumbDragStarted;
28+
29+
/// <summary>
30+
/// Event raised when lower or upper range thumbs end being dragged.
31+
/// </summary>
32+
public event DragCompletedEventHandler ThumbDragCompleted;
33+
34+
private void OnValueChanged(RangeChangedEventArgs e)
35+
{
36+
ValueChanged?.Invoke(this, e);
37+
}
38+
39+
private void OnThumbDragStarted(DragStartedEventArgs e)
40+
{
41+
ThumbDragStarted?.Invoke(this, e);
42+
}
43+
44+
private void OnThumbDragCompleted(DragCompletedEventArgs e)
45+
{
46+
ThumbDragCompleted?.Invoke(this, e);
47+
}
48+
}
49+
}

Microsoft.Toolkit.Uwp.UI.Controls.Input/RangeSelector/RangeSelector.cs

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -55,21 +55,6 @@ public partial class RangeSelector : Control
5555
private Grid _toolTip;
5656
private TextBlock _toolTipText;
5757

58-
/// <summary>
59-
/// Event raised when lower or upper range values are changed.
60-
/// </summary>
61-
public event EventHandler<RangeChangedEventArgs> ValueChanged;
62-
63-
/// <summary>
64-
/// Event raised when lower or upper range thumbs start being dragged.
65-
/// </summary>
66-
public event DragStartedEventHandler ThumbDragStarted;
67-
68-
/// <summary>
69-
/// Event raised when lower or upper range thumbs end being dragged.
70-
/// </summary>
71-
public event DragCompletedEventHandler ThumbDragCompleted;
72-
7358
/// <summary>
7459
/// Initializes a new instance of the <see cref="RangeSelector"/> class.
7560
/// Create a default range selector control.
@@ -249,13 +234,13 @@ private void ContainerCanvas_PointerExited(object sender, PointerRoutedEventArgs
249234
{
250235
_pointerManipulatingMin = false;
251236
_containerCanvas.IsHitTestVisible = true;
252-
ValueChanged?.Invoke(this, new RangeChangedEventArgs(RangeMin, normalizedPosition, RangeSelectorProperty.MinimumValue));
237+
OnValueChanged(new RangeChangedEventArgs(RangeMin, normalizedPosition, RangeSelectorProperty.MinimumValue));
253238
}
254239
else if (_pointerManipulatingMax)
255240
{
256241
_pointerManipulatingMax = false;
257242
_containerCanvas.IsHitTestVisible = true;
258-
ValueChanged?.Invoke(this, new RangeChangedEventArgs(RangeMax, normalizedPosition, RangeSelectorProperty.MaximumValue));
243+
OnValueChanged(new RangeChangedEventArgs(RangeMax, normalizedPosition, RangeSelectorProperty.MaximumValue));
259244
}
260245

261246
if (_toolTip != null)
@@ -275,13 +260,13 @@ private void ContainerCanvas_PointerReleased(object sender, PointerRoutedEventAr
275260
{
276261
_pointerManipulatingMin = false;
277262
_containerCanvas.IsHitTestVisible = true;
278-
ValueChanged?.Invoke(this, new RangeChangedEventArgs(RangeMin, normalizedPosition, RangeSelectorProperty.MinimumValue));
263+
OnValueChanged(new RangeChangedEventArgs(RangeMin, normalizedPosition, RangeSelectorProperty.MinimumValue));
279264
}
280265
else if (_pointerManipulatingMax)
281266
{
282267
_pointerManipulatingMax = false;
283268
_containerCanvas.IsHitTestVisible = true;
284-
ValueChanged?.Invoke(this, new RangeChangedEventArgs(RangeMax, normalizedPosition, RangeSelectorProperty.MaximumValue));
269+
OnValueChanged(new RangeChangedEventArgs(RangeMax, normalizedPosition, RangeSelectorProperty.MaximumValue));
285270
}
286271

287272
SyncThumbs();
@@ -698,20 +683,20 @@ private void Thumb_DragStarted(Thumb thumb)
698683

699684
private void MinThumb_DragStarted(object sender, DragStartedEventArgs e)
700685
{
701-
ThumbDragStarted?.Invoke(this, e);
686+
OnThumbDragStarted(e);
702687
Thumb_DragStarted(_minThumb);
703688
}
704689

705690
private void MaxThumb_DragStarted(object sender, DragStartedEventArgs e)
706691
{
707-
ThumbDragStarted?.Invoke(this, e);
692+
OnThumbDragStarted(e);
708693
Thumb_DragStarted(_maxThumb);
709694
}
710695

711696
private void Thumb_DragCompleted(object sender, DragCompletedEventArgs e)
712697
{
713-
ThumbDragCompleted?.Invoke(this, e);
714-
ValueChanged?.Invoke(this, sender.Equals(_minThumb) ? new RangeChangedEventArgs(_oldValue, RangeMin, RangeSelectorProperty.MinimumValue) : new RangeChangedEventArgs(_oldValue, RangeMax, RangeSelectorProperty.MaximumValue));
698+
OnThumbDragCompleted(e);
699+
OnValueChanged(sender.Equals(_minThumb) ? new RangeChangedEventArgs(_oldValue, RangeMin, RangeSelectorProperty.MinimumValue) : new RangeChangedEventArgs(_oldValue, RangeMax, RangeSelectorProperty.MaximumValue));
715700
SyncThumbs();
716701

717702
if (_toolTip != null)

0 commit comments

Comments
 (0)