DownloadFileAsyncの進行状況のパーセンテージでlistViewのテキストを更新するにはどうすればよいですか?

ずんぐりした

私は現在、エピソードをダウンロードするためのポッドキャストクライアントを作成しています。フィードのエピソードで満たされたlistViewがあり、1つをダブルクリックすると、「name」列と「progress」列を持つ別の「downloads」lisviewに配置されます。

私が抱えている問題は、非同期でダウンロードしながら、各進行状況を個別に更新しようとしていることです。各ListViewItemの進行状況を追跡する方法と、downloadProgressChanged関数でそれを参照する方法がわからないためです。

        private void lvPodDownloads_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        if (lvPodEpisodes.SelectedItems.Count == 1) // Check if an item is selected just to be safe
        {
            ListViewItem item = (ListViewItem)lvPodEpisodes.SelectedItem;
            string[] epInfo = (string[])item.Tag;
            txtTitle.Text = epInfo[0];
            txtDesc.Text = epInfo[1];

            try
            {
                imgFeedImage.Source = new BitmapImage(new Uri((Environment.CurrentDirectory + "\\..\\..\\feedImages\\" + epInfo[3])));
            }
            catch (Exception) // If it fails to set the image (Eg. It's non-existent) It will leave it blank
            {
                imgFeedImage.Source = null;
            }
        }
    }
    private void lvPodEpisodes_MouseDoubleClick(object sender, MouseButtonEventArgs e) // Downloading the episode in here
    {
        if (e.ChangedButton == MouseButton.Left) // Left button was double clicked
        {
            ListViewItem selected = (ListViewItem)lvPodEpisodes.SelectedItem;
            string[] epInfo = (string[])selected.Tag;

            Uri downloadUrl = new Uri(epInfo[2]);



            List<Episode> downloading = new List<Episode>();
            downloading.Add(new Episode() { Title = epInfo[0], Progress = "0%" });
            lvPodDownloads.Items.Add((new Episode() { Title = epInfo[0], Progress = "0%" }));
            using (WebClient client = new WebClient())
            {
                client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
            }
        }
    }

    static int intDownloadProgress = new int();
    private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e)
    {
        intDownloadProgress = e.ProgressPercentage;
    }

    private void Completed(object sender, AsyncCompletedEventArgs e)
    {
        MessageBox.Show("Download completed!");
    }

これは、プログラムのダウンロードセクションのコードサンプルです。

これが私がこれまでに持っているものの画像です:https//s33.postimg.cc/gthzioxlr/image.png

マクスウェル77

ProgressChangedメソッドに引数を追加する必要があります。

private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e, Episode curEpisode)
{
    curEpisode.Progress = $"{e.ProgressPercentage} %";
}

そして、そのようにハンドラー設定を変更するには:

List<Episode> downloading = new List<Episode>();
var newEpisode = new Episode() { Title = epInfo[0], Progress = "0%" };  

downloading.Add(newEpisode);
lvPodDownloads.Items.Add(newEpisode);

using (WebClient client = new WebClient())
{
    client.DownloadProgressChanged += new DownloadProgressChangedEventHandler((sender, e) => ProgressChanged(sender, e, newEpisode));
}

その場合、静的プロパティintDownloadProgress役に立ちません

また、エピソードリストに監視可能なコレクションを使用し、XAMLコードを介したバインディングに使用することも検討する必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

テーブルセルの進行状況を表示するにはどうすればよいですか?

分類Dev

計算の進行状況バーをテキストボックスに追加するにはどうすればよいですか?

分類Dev

「npmupdate」の進行状況メッセージを取得するにはどうすればよいですか?

分類Dev

フォームタグ内でチェックされたチェックボックスの数を取得し、進行状況バーにパーセンテージを表示するにはどうすればよいですか?

分類Dev

Windowsユニバーサルアプリで進行状況リングをテキストで表示するにはどうすればよいですか?

分類Dev

いくつかの%値に従ってUIViewで%ステータスまたは進行状況を表示するにはどうすればよいですか?

分類Dev

画像とテキストを含む進行状況サークルをコーディングするにはどうすればよいですか?

分類Dev

<script>のダウンロードの進行状況を取得するにはどうすればよいですか?

分類Dev

進行状況に応じて色を変えるマルチカラーのパーセンテージバーを追加するにはどうすればよいですか?

分類Dev

円形の進行状況バーのパスにアニメーションを配置するにはどうすればよいですか?

分類Dev

ダウンロードの進行状況と速度を表示するにはどうすればよいですか

分類Dev

nodegitを介してリポジトリのクローンを作成するときにステータスの進行状況を取得するにはどうすればよいですか?

分類Dev

期日とタスクの進行状況を使用して全体的なステータスを作成するにはどうすればよいですか?

分類Dev

このようなグラデーションの進行状況インジケーターを作成するにはどうすればよいですか?

分類Dev

JavaコンポーネントをEclipseジョブに統合するにはどうすればよいですか(進行状況の監視あり)?

分類Dev

Rでコードの進行状況を表示するにはどうすればよいですか?

分類Dev

詳細なテストの進行状況なしで詳細なpy.testの差分を表示するにはどうすればよいですか?

分類Dev

MPAndroidChart PieChartのテキストの色のパーセンテージを変更するにはどうすればよいですか?

分類Dev

Javaコードから進行状況の色を変更するにはどうすればよいですか?

分類Dev

rsyncの実行時に進行状況バーを表示するにはどうすればよいですか?

分類Dev

rsyncの実行時に進行状況バーを表示するにはどうすればよいですか?

分類Dev

ProgressBarの進行状況行の最後に単純な形状インジケーターを追加するにはどうすればよいですか?

分類Dev

マルチパートなしでファイルアップロードの進行状況を取得するにはどうすればよいですか?

分類Dev

マルチパートなしでファイルアップロードの進行状況を取得するにはどうすればよいですか?

分類Dev

パーセンテージを計算して3番目のテキストボックスに表示するにはどうすればよいですか?

分類Dev

SendingProgressViewの現在の進行状況をスムーズにアニメーション化するにはどうすればよいですか?

分類Dev

Chrome拡張機能でダウンロードの進行状況をキャプチャするにはどうすればよいですか

分類Dev

RESTful進行状況インジケーターを実装するにはどうすればよいですか?

分類Dev

ビューコントローラを再割り当てした後でもprogressViewの進行状況を表示するにはどうすればよいですか?

Related 関連記事

  1. 1

    テーブルセルの進行状況を表示するにはどうすればよいですか?

  2. 2

    計算の進行状況バーをテキストボックスに追加するにはどうすればよいですか?

  3. 3

    「npmupdate」の進行状況メッセージを取得するにはどうすればよいですか?

  4. 4

    フォームタグ内でチェックされたチェックボックスの数を取得し、進行状況バーにパーセンテージを表示するにはどうすればよいですか?

  5. 5

    Windowsユニバーサルアプリで進行状況リングをテキストで表示するにはどうすればよいですか?

  6. 6

    いくつかの%値に従ってUIViewで%ステータスまたは進行状況を表示するにはどうすればよいですか?

  7. 7

    画像とテキストを含む進行状況サークルをコーディングするにはどうすればよいですか?

  8. 8

    <script>のダウンロードの進行状況を取得するにはどうすればよいですか?

  9. 9

    進行状況に応じて色を変えるマルチカラーのパーセンテージバーを追加するにはどうすればよいですか?

  10. 10

    円形の進行状況バーのパスにアニメーションを配置するにはどうすればよいですか?

  11. 11

    ダウンロードの進行状況と速度を表示するにはどうすればよいですか

  12. 12

    nodegitを介してリポジトリのクローンを作成するときにステータスの進行状況を取得するにはどうすればよいですか?

  13. 13

    期日とタスクの進行状況を使用して全体的なステータスを作成するにはどうすればよいですか?

  14. 14

    このようなグラデーションの進行状況インジケーターを作成するにはどうすればよいですか?

  15. 15

    JavaコンポーネントをEclipseジョブに統合するにはどうすればよいですか(進行状況の監視あり)?

  16. 16

    Rでコードの進行状況を表示するにはどうすればよいですか?

  17. 17

    詳細なテストの進行状況なしで詳細なpy.testの差分を表示するにはどうすればよいですか?

  18. 18

    MPAndroidChart PieChartのテキストの色のパーセンテージを変更するにはどうすればよいですか?

  19. 19

    Javaコードから進行状況の色を変更するにはどうすればよいですか?

  20. 20

    rsyncの実行時に進行状況バーを表示するにはどうすればよいですか?

  21. 21

    rsyncの実行時に進行状況バーを表示するにはどうすればよいですか?

  22. 22

    ProgressBarの進行状況行の最後に単純な形状インジケーターを追加するにはどうすればよいですか?

  23. 23

    マルチパートなしでファイルアップロードの進行状況を取得するにはどうすればよいですか?

  24. 24

    マルチパートなしでファイルアップロードの進行状況を取得するにはどうすればよいですか?

  25. 25

    パーセンテージを計算して3番目のテキストボックスに表示するにはどうすればよいですか?

  26. 26

    SendingProgressViewの現在の進行状況をスムーズにアニメーション化するにはどうすればよいですか?

  27. 27

    Chrome拡張機能でダウンロードの進行状況をキャプチャするにはどうすればよいですか

  28. 28

    RESTful進行状況インジケーターを実装するにはどうすればよいですか?

  29. 29

    ビューコントローラを再割り当てした後でもprogressViewの進行状況を表示するにはどうすればよいですか?

ホットタグ

アーカイブ