private static void OnStateChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            RunPauseStopIcon owner = d as RunPauseStopIcon;
            ENUM_State       state = (ENUM_State)e.NewValue;

            switch (state)
            {
            case ENUM_State.Run:
                owner.icon_run.Visibility   = Visibility.Visible;
                owner.icon_pause.Visibility = Visibility.Hidden;
                owner.icon_stop.Visibility  = Visibility.Hidden;
                break;

            case ENUM_State.Pause:
                owner.icon_run.Visibility   = Visibility.Hidden;
                owner.icon_pause.Visibility = Visibility.Visible;
                owner.icon_stop.Visibility  = Visibility.Hidden;
                break;

            case ENUM_State.Stop:
                owner.icon_run.Visibility   = Visibility.Hidden;
                owner.icon_pause.Visibility = Visibility.Hidden;
                owner.icon_stop.Visibility  = Visibility.Visible;
                break;
            }
        }
        private static void OnIconBackgroundChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            RunPauseStopIcon owner = d as RunPauseStopIcon;

            owner.UserControl.Foreground = (Brush)e.NewValue;
        }