长时间运行时自动显示装载机

时间:2019-10-25 13:21:19

标签: c# wpf

当我的应用程序被阻止超过500毫秒时,我试图显示一个加载器动画。 我希望这是自动的,我不想在每次长时间的操作之前添加任何代码。

我知道在WinForms中是有可能的(我使用的是https://snipplr.com/view/24851/),但是在WPF中不起作用。 我发现我可以使用鼠标光标(display Hourglass when application is busy

我试图用微调器启动一个窗口。 我找到了这个答案(https://stackoverflow.com/a/21411656/10820863),可以检测到长时间运行。 问题是,如果我从不是主线程的线程启动窗口,则会得到ThreadException,因为它不是主线程。如果我使用Application.Current.Dispatcher.BeginInvoke  方法,仅当不再阻止UI时,窗口才会出现。

那么,如何自动检测长时间运行并显示加载窗口/页面/图像/持续时间超过500毫秒的所有内容?

[编辑] 我不想在每个长函数中添加代码,而要评估哪个函数可能很长的情况。 我希望有一种自动方法可以为我做到这一点。

0 个答案:

没有答案