我在XAML中有一个请稍等
的TextBlock
,它的Visibility
属性绑定到我的ViewModel上的一个IsBusy
属性(该ViewModel实现了INotifyPropertyChanged
)。单独的按钮启动一个长时间运行的过程(2-3秒),如下所示:
IsBusy = true;
try
{
// Do some long-running process
}
finally
{
IsBusy = false;
}
但是“请等待”消息从未出现。我假设操作正在运行在UI线程上,因此没有给它刷新的机会?如果我在单独的线程上运行上述代码,它确实可以工作,但是我不希望用户在操作运行时做任何事情 - 我很高兴让UI冻结。
如何显示“请等待”消息?或者我最好在后台线程上运行它,并在此期间锁定UI?顺便说一下,我正在使用.NET 4。