Skip to content

Commit 7a660f9

Browse files
wherewhereArlodotexe
authored andcommitted
Update SettingsCard.cs
1 parent cb3f316 commit 7a660f9

File tree

1 file changed

+22
-3
lines changed

1 file changed

+22
-3
lines changed

components/SettingsControls/src/SettingsCard/SettingsCard.cs

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ private void EnableButtonInteraction()
6666

6767
PointerEntered += Control_PointerEntered;
6868
PointerExited += Control_PointerExited;
69+
PointerCaptureLost += Control_PointerCaptureLost;
70+
PointerCanceled += Control_PointerCanceled;
6971
PreviewKeyDown += Control_PreviewKeyDown;
7072
PreviewKeyUp += Control_PreviewKeyUp;
7173
}
@@ -74,6 +76,8 @@ private void DisableButtonInteraction()
7476
{
7577
PointerEntered -= Control_PointerEntered;
7678
PointerExited -= Control_PointerExited;
79+
PointerCaptureLost -= Control_PointerCaptureLost;
80+
PointerCanceled -= Control_PointerCanceled;
7781
PreviewKeyDown -= Control_PreviewKeyDown;
7882
PreviewKeyUp -= Control_PreviewKeyUp;
7983
}
@@ -94,16 +98,30 @@ private void Control_PreviewKeyDown(object sender, KeyRoutedEventArgs e)
9498
}
9599
}
96100

101+
public void Control_PointerEntered(object sender, PointerRoutedEventArgs e)
102+
{
103+
base.OnPointerEntered(e);
104+
VisualStateManager.GoToState(this, PointerOverState, true);
105+
}
106+
97107
public void Control_PointerExited(object sender, PointerRoutedEventArgs e)
98108
{
99109
base.OnPointerExited(e);
100110
VisualStateManager.GoToState(this, NormalState, true);
101111
}
102-
public void Control_PointerEntered(object sender, PointerRoutedEventArgs e)
112+
113+
private void Control_PointerCaptureLost(object sender, PointerRoutedEventArgs e)
103114
{
104-
base.OnPointerEntered(e);
105-
VisualStateManager.GoToState(this, PointerOverState, true);
115+
base.OnPointerCaptureLost(e);
116+
VisualStateManager.GoToState(this, NormalState, true);
106117
}
118+
119+
private void Control_PointerCanceled(object sender, PointerRoutedEventArgs e)
120+
{
121+
base.OnPointerCanceled(e);
122+
VisualStateManager.GoToState(this, NormalState, true);
123+
}
124+
107125
protected override void OnPointerPressed(PointerRoutedEventArgs e)
108126
{
109127
// e.Handled = true;
@@ -113,6 +131,7 @@ protected override void OnPointerPressed(PointerRoutedEventArgs e)
113131
VisualStateManager.GoToState(this, PressedState, true);
114132
}
115133
}
134+
116135
protected override void OnPointerReleased(PointerRoutedEventArgs e)
117136
{
118137
if (IsClickEnabled)

0 commit comments

Comments
 (0)