我的XAML 中有一个其属性绑定到我的 ViewModel 上的一个属性(它实现了)。一个单独的按钮会启动一个长时间运行(2-3 秒)的进程,如下所示:please wait
TextBlock
Visibility
IsBusy
INotifyPropertyChanged
IsBusy = true;
try
{
// Do some long-running process
}
finally
{
IsBusy = false;
}
但该please wait
消息从未出现。我假设操作在 UI 线程上运行,因此没有机会刷新?如果我在单独的线程上运行上述代码,它确实有效,但我不希望用户在操作运行时做任何事情 - 我很高兴 UI 能够freeze
.
如何显示please wait
消息?或者我会更好地在后台线程上运行它并(以某种方式)在持续时间内锁定 UI?我正在使用 .Net 4 顺便说一句。