diff --git a/src/Avalonia.Controls/ColorPicker/ColorSpectrum/ColorSpectrum.cs b/src/Avalonia.Controls/ColorPicker/ColorSpectrum/ColorSpectrum.cs
index d35c18115d..988d475853 100644
--- a/src/Avalonia.Controls/ColorPicker/ColorSpectrum/ColorSpectrum.cs
+++ b/src/Avalonia.Controls/ColorPicker/ColorSpectrum/ColorSpectrum.cs
@@ -20,9 +20,10 @@ namespace Avalonia.Controls.Primitives
///
/// A two dimensional spectrum for color selection.
///
- [PseudoClasses(pcLightSelector)]
+ [PseudoClasses(pcLargeSelector, pcLightSelector)]
public partial class ColorSpectrum : TemplatedControl
{
+ protected const string pcLargeSelector = ":large-selector";
protected const string pcLightSelector = ":light-selector";
///
@@ -514,18 +515,19 @@ namespace Avalonia.Controls.Primitives
///
private void UpdatePseudoClasses()
{
- //if (m_isPointerPressed)
- //{
- // VisualStateManager.GoToState(this, m_shouldShowLargeSelection ? "PressedLarge" : "Pressed", useTransitions);
- //}
- //else if (m_isPointerOver)
- //{
- // VisualStateManager.GoToState(this, "PointerOver", useTransitions);
- //}
- //else
- //{
- // VisualStateManager.GoToState(this, "Normal", useTransitions);
- //}
+ if (_isPointerPressed)
+ {
+ PseudoClasses.Set(pcLargeSelector, _shouldShowLargeSelection);
+ }
+ else if (_isPointerOver)
+ {
+ //VisualStateManager.GoToState(this, "PointerOver", useTransitions);
+ PseudoClasses.Set(pcLargeSelector, false);
+ }
+ else
+ {
+ PseudoClasses.Set(pcLargeSelector, false);
+ }
PseudoClasses.Set(pcLightSelector, SelectionEllipseShouldBeLight());
diff --git a/src/Avalonia.Themes.Fluent/Controls/ColorSpectrum.xaml b/src/Avalonia.Themes.Fluent/Controls/ColorSpectrum.xaml
index 84eec272ed..13e9773940 100644
--- a/src/Avalonia.Themes.Fluent/Controls/ColorSpectrum.xaml
+++ b/src/Avalonia.Themes.Fluent/Controls/ColorSpectrum.xaml
@@ -52,9 +52,7 @@
Background="Transparent"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch">
-
+
-
+
@@ -112,11 +110,19 @@
+
+
+
+