public void Intercept(IInvocation invocation) { var context = invocation.GetAwaitableContext(); var viewModel = invocation.Proxy as MainWindowViewModel; if (viewModel != null) { viewModel.IsBusy = true; } Task.Delay(3000).Await(() => { if (viewModel != null) { viewModel.IsBusy = false; } context.Proceed(); }, ex => { }); }