/// <summary>
        /// Ocorre quando a propriedade muda
        /// </summary>
        /// <param name="d">objecto de onde veio</param>
        /// <param name="e">propriedade do novo e velho valor</param>
        private static void ProgressBarStateChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            ProgressBar     progressBar = (ProgressBar)d;
            ProgresBarState state       = (ProgresBarState)e.NewValue;

            progressBar.ChangeState(state);
        }
        /// <summary>
        /// Muda o estado a logica da representação grafica
        /// </summary>
        /// <param name="state">Para qual estado vai a seguir</param>
        public void ChangeState(ProgresBarState state)
        {
            switch (state)
            {
            case ProgresBarState.Working:
                break;

            case ProgresBarState.Busy:
                //RoutedEventArgs routedEvent = new RoutedEventArgs(ProgressBar.SwicthStateBusyEvent);
                RaiseEvent(new RoutedEventArgs(SwicthStateBusyEvent));
                Console.WriteLine("sad");
                break;

            case ProgresBarState.Stop:
                break;

            default:
                break;
            }
        }