我有一个问题,当执行命令时我的UI不会更新。我有一个不确定的ProgressBar,其可见性绑定到ViewModel中的IsBusyIndicator属性。一个 Command 应该执行一个方法并在计算过程中显示 ProgressBar,如下所示的代码片段。然而,这并没有按照我的期望工作。属性被设置为正确的值,但UI没有更新以显示ProgressBar。如果我只是将IsBusyIndicator设置为true并在Command中什么也不做,那么它可以正常工作,因此INotifyPropertyChanged和Binding都可以正常工作。
void CommandExecute()
{
IsBusyIndicator = true;
// Do stuff that takes long
IsBusyIndicator = false;
}
我觉得UI在更新视图之前等待命令完成。是否有一种方法可以强制UI立即更新?
提前感谢,愿原力与你同在。
CommandExecute()
方法在UI线程上运行,你就不能这样做。// Do stuff that takes long
应该在另一个线程上运行。 - Hasan Emrah Süngü