C# 在项目上的操作结束后,如何用字符串替换listView项目?

C# 在项目上的操作结束后,如何用字符串替换listView项目?,c#,listview,C#,Listview,在DoWork中,我调整图像文件的数量并将其保存到硬盘,同时报告百分比和图像数量。在ProgressChanged事件中,我正在更新progressBar和一些标签 private void Start_Click(object sender, RoutedEventArgs e) { if (listView.Items.Count > 0) worker.RunWorkerAsync(); } 后

在DoWork中,我调整图像文件的数量并将其保存到硬盘,同时报告百分比和图像数量。在ProgressChanged事件中,我正在更新progressBar和一些标签

private void Start_Click(object sender, RoutedEventArgs e)
        {
            if (listView.Items.Count > 0)
                worker.RunWorkerAsync();
        }

后台工作程序完成后,您将调用UI线程并运行以下操作:

public void Save(BitmapImage image, string filePath)
        {
            BitmapEncoder encoder = new PngBitmapEncoder();
            encoder.Frames.Add(BitmapFrame.Create(image));

            using (var fileStream = new System.IO.FileStream(filePath, System.IO.FileMode.Create))
            {
                encoder.Save(fileStream);
            }
        }

        private BitmapImage ResizeImage(string file)
        {
            var bitmap = new BitmapImage();
            var stream = File.OpenRead(file);
            bitmap.BeginInit();
            bitmap.CacheOption = BitmapCacheOption.OnLoad;
            bitmap.StreamSource = stream;
            bitmap.DecodePixelHeight = 100;
            bitmap.DecodePixelWidth = 100;
            bitmap.EndInit();
            stream.Close();
            stream.Dispose();

            return bitmap;
        }
其中,
RefreshCallback
是更新列表项的
Refresh
函数的简单委托

public void Save(BitmapImage image, string filePath)
        {
            BitmapEncoder encoder = new PngBitmapEncoder();
            encoder.Frames.Add(BitmapFrame.Create(image));

            using (var fileStream = new System.IO.FileStream(filePath, System.IO.FileMode.Create))
            {
                encoder.Save(fileStream);
            }
        }

        private BitmapImage ResizeImage(string file)
        {
            var bitmap = new BitmapImage();
            var stream = File.OpenRead(file);
            bitmap.BeginInit();
            bitmap.CacheOption = BitmapCacheOption.OnLoad;
            bitmap.StreamSource = stream;
            bitmap.DecodePixelHeight = 100;
            bitmap.DecodePixelWidth = 100;
            bitmap.EndInit();
            stream.Close();
            stream.Dispose();

            return bitmap;
        }
Dispatcher.Invoke(DispatcherPriority.Normal, new RefreshCallback(Refresh));