У нас есть относительно большой класс модели данных DataModel
, который связан с различными элементами управления пользовательского интерфейса.Мы хотим, чтобы индикатор занятости из WPF Toolkit Extended отображался во время загрузки экземпляра модели данных.
Пример кода приведен ниже.Индикатор занятости отображается во время выполнения функции LoadReport
, но исчезает после оператора assign, в то время как операции привязки все еще обрабатываются, т.е. до того, как интерфейс будет «готов».Есть ли что-нибудь, что мы можем сделать, чтобы ждать этого?
// Show we are busy.
this.Dispatcher.Invoke(DispatcherPriority.Send, (Action)delegate()
{
this.BusyMessage = "Loading report...";
this.IsBusy = true;
});
var instance = this.LoadReport();
this.DataModel = instance;
// Show we are no longer busy.
this.Dispatcher.Invoke(DispatcherPriority.Background, (Action)delegate()
{
this.BusyMessage = null;
this.IsBusy = false;
});
<toolkit:BusyIndicator IsBusy="{Binding ThisScreen.IsBusy}" BusyContent="{Binding ThisScreen.BusyMessage, TargetNullValue='Please wait...'}" >
<Grid x:Name="ScreenGrid" />
</toolkit:BusyIndicator>
Это не похоже на необычную проблему, но мне не повезло в поисках решения ... Заранее спасибо.