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 做同样的事情?
您的导出功能可能需要很长时间才能完成,因此您需要将其设为 async
和 await
,这样您就不会阻塞 WPF 中的 UI 线程.
我目前正在制作一个导出应用程序,它将 运行 数据库中的查询并将它们存储在 excel 中。
所以我的代码将更改状态文本并在按下时折叠按钮的可见性。
这是我的代码块:
statusTextBlock.Text = "Export is running...";
ExportDryRunBtn.Visibility = Visibility.Collapsed;
GPDatabase.ExportDryRunItemsToExcel(progressBar);
ExportDryRunBtn.Visibility = Visibility.Visible;
statusTextBlock.Text = "";
我的问题是,当我按下导出时,状态不会改变,可见性也不会折叠。应用程序在完成导出之前不会响应,然后其他控件更改将显示出来。我有一个类似的应用程序,我在 Windows Form 上使用相同的代码结构,它按预期工作。
为什么我不能用 WPF 做同样的事情?
您的导出功能可能需要很长时间才能完成,因此您需要将其设为 async
和 await
,这样您就不会阻塞 WPF 中的 UI 线程.