private static void OnToggled(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            if (e.NewValue == null)
            {
                return;
            }

            if (e.NewValue == e.OldValue)
            {
                return;
            }

            ButterToggleSwitch instance = d as ButterToggleSwitch;

            if (instance == null)
            {
                return;
            }

            bool useAnimation = !DesignMode.DesignModeEnabled;

            if (instance.IsOn)
            {
                VisualStateManager.GoToState(instance, "On", useAnimation);
            }
            else
            {
                VisualStateManager.GoToState(instance, "Off", useAnimation);
            }
        }
        private static void OnToggled(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            if (e.NewValue == null)
            {
                return;
            }

            if (e.NewValue == e.OldValue)
            {
                return;
            }

            ButterToggleSwitch instance = d as ButterToggleSwitch;

            if (instance == null)
            {
                return;
            }

            if (instance.IsOn)
            {
                instance._sbOff2On.Begin();
            }
            else
            {
                instance._sbOn2Off.Begin();
            }
        }
        private static void OnIsEnabledChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            if (e.NewValue == null)
            {
                return;
            }

            if (e.NewValue == e.OldValue)
            {
                return;
            }

            ButterToggleSwitch instance = d as ButterToggleSwitch;

            if (instance == null)
            {
                return;
            }

            if (instance.IsEnabled)
            {
                if (instance.IsOn)
                {
                    VisualStateManager.GoToState(instance, "On", false);
                }
                else
                {
                    VisualStateManager.GoToState(instance, "Off", false);
                }
            }
            else
            {
                VisualStateManager.GoToState(instance, "Disabled", false);
            }
        }