public override int GetHashCode()
 {
     unchecked {
         var hashCode = Level.GetHashCode();
         hashCode = (hashCode * 397) ^ StartTime.GetHashCode();
         hashCode = (hashCode * 397) ^ Duration.GetHashCode();
         hashCode = (hashCode * 397) ^ IsProgress.GetHashCode();
         hashCode = (hashCode * 397) ^ RemainToComplete.GetHashCode();
         return(hashCode);
     }
 }
        public VMProgressDialog(Cancelable cancelable, IsProgress isProgress)
        {
            if (isProgress == IsProgress.Yes)
            {
                VisibilityProgress = Visibility.Visible;
            }
            else
            {
                VisibilityProgress = Visibility.Collapsed;
            }

            if (cancelable == Cancelable.No)
            {
                VisibilityButton = Visibility.Collapsed;
            }
            else
            {
                VisibilityButton = Visibility.Visible;
            }
        }