Я предполагаю, что вы привязываете свой View к вашей ViewModel.В этом случае все, что вам нужно сделать, это создать свойство bool и установить его в значение true во время загрузки / ожидания асинхронного вызова.Вы можете сделать что-то вроде этого:
private bool isSyncing;
public bool IsSynchronizing
{
get { return this.isSyncing; }
set
{
this.isSyncing = value;
this.RaisePropertyChanged(() => this.IsSynchronizing); //Use appropriate RaisePropertyChanged method for your MVVM implementation
}
}
Перед началом асинхронного вызова вы должны установить IsSynchronizing = true.В конце обработчика событий установите IsSynchronizing = false;
С вашей точки зрения, вы можете привязаться к этому bool.Для панели загрузки это может выглядеть следующим образом:
<ProgressBar Visibility="{Binding IsSynchronizing, Converter={StaticResource booleanToVisibilityConverter}}" IsIndeterminate="{Binding IsSynchronizing}" Style="{StaticResource PerformanceProgressBar}" />
В вашем сценарии вы можете использовать инвертированный BooleanToVisibilityConverter, чтобы скрыть сводку во время загрузки.
Надеюсь, это поможет, дайте мне знать, если вам нужна дополнительная информация об использовании BooleanToVisibilityConverters