async void Refresh() { lock (_loadingLock) { if (_isLoading) { return; } _isLoading = true; } UpdateGrid.IsEnabled = false; Loading.BeginLoadingIndication(); try { DataContext = null; await Model.RefreshAsync(); DataContext = Model; } finally { lock (_loadingLock) { _isLoading = false; } UpdateGrid.IsEnabled = true; Loading.StopLoadingIndication(); } }