private void OnClose(object obj) { //здесь может быть долгая асинхронная задача: валидация, сохранение итд IsClosed = true; ChildViewModelManager.Close(this); RaiseClosed(); }
protected void Close() { if (IsClosed) { throw new InvalidOperationException("Already closed"); } OnClosed(); IsClosed = true; ChildViewModelManager.Close(this); RaiseClosed(); }