WPF 不按顺序操作控制更改和 excel 导出

WPF not sequential operating with control changes and excel export

我目前正在制作一个导出应用程序,它将 运行 数据库中的查询并将它们存储在 excel 中。

所以我的代码将更改状态文本并在按下时折叠按钮的可见性。

这是我的代码块:

        statusTextBlock.Text = "Export is running...";
        ExportDryRunBtn.Visibility = Visibility.Collapsed;
        GPDatabase.ExportDryRunItemsToExcel(progressBar);
        ExportDryRunBtn.Visibility = Visibility.Visible;
        statusTextBlock.Text = "";

我的问题是,当我按下导出时,状态不会改变,可见性也不会折叠。应用程序在完成导出之前不会响应,然后其他控件更改将显示出来。我有一个类似的应用程序,我在 Windows Form 上使用相同的代码结构,它按预期工作。

为什么我不能用 WPF 做同样的事情?

您的导出功能可能需要很长时间才能完成,因此您需要将其设为 asyncawait,这样您就不会阻塞 WPF 中的 UI 线程.