private void Attach(FrameworkElement associatedElement) { Debug.Assert(associatedElement != null); if (AssociatedElement != null) { throw new InvalidOperationException(SR.Exception_OverlayActivator_HostMultipleTimes); } if (!associatedElement.IsLoaded) { return; } AssociatedElement = associatedElement; Container = new ContentPresenter(); Container.Content = Content ?? AssociatedElement; Container.ContentTemplate = ContentTemplate; Container.ContentTemplateSelector = ContentTemplateSelector; DockManager.AddOverlay(this); }