public async void DownloadContentAsync()
        {
            if (!CanDownloadContentAsync)
            {
                return;
            }

            try
            {
                ProgressState           = "downloading";
                CanDownloadContentAsync = false;
                CanCancelDownloading    = true;
                CanEditSource           = false;
                CanShowResult           = false;

                downloadResult = await downloadTask.DownloadAsync(Source);

                ProgressState           = "success";
                CanDownloadContentAsync = true;
                CanCancelDownloading    = false;
                CanShowResult           = true;
                CanEditSource           = true;
            }
            catch (Exception ex)
            {
                downloadResult          = ex.Message;
                CanDownloadContentAsync = true;
                CanCancelDownloading    = false;
                CanEditSource           = true;
                CanShowResult           = true;
                ProgressState           = "fault";
            }
        }