public override void Dispose() { base.Dispose(); ShowHandler.Dispose(); HideHandler.Dispose(); FirstShow.Dispose(); if (AutoDisposeData) { var d = Data as IDisposable; if (null != d) { d.Dispose(); } } Data = null; }