protected override void EnableProperties()
 {
     // Shared
     Colors.IsVisibleWhen(ColorMode, c => c.CurrentValue == ColorType.Gradient);
     Color.IsVisibleWhen(ColorMode, c => c.CurrentValue == ColorType.Solid);
     // Echo
     FadeEcho.IsVisibleWhen(Animation, a => a.CurrentValue == AnimationType.Echo);
     EchoLifetime.IsVisibleWhen(Animation, a => a.CurrentValue == AnimationType.Echo);
 }
        protected override void EnableProperties()
        {
            // Shared
            Colors.IsVisibleWhen(ColorMode, c => c.CurrentValue == ColorType.Gradient || c.CurrentValue == ColorType.ColorChange);
            Color.IsVisibleWhen(ColorMode, c => c.CurrentValue == ColorType.Solid);

            // Echo
            FadeEcho.IsVisibleWhen(Animation, a => a.CurrentValue == AnimationType.Echo);
            EchoLifetime.IsVisibleWhen(Animation, a => a.CurrentValue == AnimationType.Echo);

            //Ripple
            RippleWidth.IsVisibleWhen(Animation, a => a.CurrentValue == AnimationType.Ripple);
            RippleFadeAway.IsVisibleWhen(Animation, a => a.CurrentValue == AnimationType.Ripple);
            RippleSize.IsVisibleWhen(Animation, a => a.CurrentValue == AnimationType.Ripple);
            RippleGrowthSpeed.IsVisibleWhen(Animation, a => a.CurrentValue == AnimationType.Ripple);
            RippleBehivor.IsVisibleWhen(Animation, a => a.CurrentValue == AnimationType.Ripple);

            //Circle
            CircleSize.IsVisibleWhen(Animation, a => a.CurrentValue == AnimationType.CircleWhilePressed);
            CircleGrowthSpeed.IsVisibleWhen(Animation, a => a.CurrentValue == AnimationType.CircleWhilePressed);
        }