/// <summary> /// Lazy initialization of the view /// </summary> /// <returns>Actual view</returns> private GenericView GetView() { lock (LockObject) { if (_view != null) return _view; _view = new GenericView(); _view.Closed += (sender, e) => { if (Closed != null) Closed.Invoke(sender, e); _view = null; }; _view.Closing += (sender, e) => { if (Closing != null) Closing.Invoke(sender, e); }; return _view; } }
public void Close() { GetView().Close(); _view = null; }