我在执行命令时遇到用户界面未更新的问题。
我有一个不确定的 ProgressBar,它的可见性绑定到 ViewModel 中的 IsBusyIndicator 属性。命令现在应该执行一个方法并在计算时显示进度条,如下面的代码片段所示。但是,这并不像我预期的那样工作。该属性已设置为正确的值,但 UI 未更新以显示 ProgressBar。
如果我只是将 IsBusyIndicator 设置为 true 并且在命令中不执行任何其他操作,则效果很好,因此 INotifyPropertyChanged 和 Binding 可以正常工作。
void CommandExecute()
{
IsBusyIndicator = true;
// Do stuff that takes long
IsBusyIndicator = false;
}
Run Code Online (Sandbox Code Playgroud)
在我看来,UI 会等待命令完成后再更新视图。有没有办法强制 UI 立即更新?
预先感谢,愿原力与你同在。