public async virtual Task CloseViewModelAsync(bool? result)
{
var vm = ViewModel;
if (vm != null)
{
try
{
lock (_lockObject)
{
IsClosingViewModel = true;
}
await vm.CloseViewModelAsync(result);
ViewModel = null;
}
finally
{
lock (_lockObject)
{
IsClosingViewModel = false;
}
}
}
}