C# 异步类?

C# 异步类?,c#,function,asynchronous,directory,C#,Function,Asynchronous,Directory,我是C语言的新手,我来自C语言,所以我对异步操作有点困惑 我有一个类,它拥有我程序的所有重要功能,它下载一个文件并将其添加到文件夹中,等等 然后我有一个WPF表单图形界面,所以当用户选择一个文件夹时,它会扫描文件夹中的所有文件,并下载所有音乐曲目的封面艺术 我想制作一个进度条,显然它必须是异步的,我不知道该由谁来做 我想当用户点击按钮时,我必须调用异步的重要函数 有没有制作这个的好教程?或者,您可以告诉我基本步骤吗?您可以使用该组件,您可以按照此操作使进度条正常工作。欢迎使用C.Net=D 是一

我是C语言的新手,我来自C语言,所以我对异步操作有点困惑

我有一个类,它拥有我程序的所有重要功能,它下载一个文件并将其添加到文件夹中,等等

然后我有一个WPF表单图形界面,所以当用户选择一个文件夹时,它会扫描文件夹中的所有文件,并下载所有音乐曲目的封面艺术

我想制作一个进度条,显然它必须是异步的,我不知道该由谁来做

我想当用户点击按钮时,我必须调用异步的重要函数

有没有制作这个的好教程?或者,您可以告诉我基本步骤吗?

您可以使用该组件,您可以按照此操作使进度条正常工作。

欢迎使用C.Net=D

是一组帮助您进行异步编程的类,由于您使用WPF显示数据,我还建议您阅读。对于具有用户界面的应用程序来说,它是一种非常重要的设计模式

享受阅读:D

完成后,下面的代码示例可能会帮助您实现异步行为

在MainWindow.xaml中:

<ProgressBar Name="progressBar" Visibility="{Binding ProgressBarVisible, Converter=booleanVisibilityConverter}" IsIndeterminate="True" Width="100"/>

谢谢,我遵循教程,很好,但我不知道如何初始化后台工作人员。我有一个类应用程序,其中所有组件都已初始化,然后我有另一个类Interfaz,其中所有事件按钮都单击,等等。。。backgroundworker必须在应用程序中或在Interfaz中?backgroundworker应该在定义按钮单击和进度条的Interfaz类中使用。是的,但我正在处理WPF,工具箱中没有backgroundworker,因此我需要手动对其进行实例。我必须放在哪里。backgroundWorker1.workerSupportsScanCellation=true;etc.?BackgroundWorker BackgroundWorker 1=新系统.ComponentModel.BackgroundWorker;回复中的其余代码应该放在MainWindowViewModel.csi中。我做错了什么,我出错了,它说我没有控制公共MainWindow函数中的InvalidOperationException,该函数只调用InitializeComponent;很抱歉错误翻译错误:/
public MainWindowViewModel : INotifyPropertyChanged
{
    public bool ProgressBarVisible {
        get { return progressBarVisible; }
        set { 
            progressBarVisible=value;
            RaisePropertyChanged("ProgressBarVisible");
        }
    }

    public void LoadImages() 
    {
        ProgressBarVisible = true;

        //your logic for downloading the images

        ProgressBarVisible = false;
    }

    public void DownloadImagesAsync()
    {
        Task.Factory.StartNew(LoadImages);
    }
}