/// <summary> /// Handles the <c>Loaded</c> event of the <c>DockSite</c> control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="RoutedEventArgs"/> instance containing the event data.</param> private static void OnDockSiteLoaded(object sender, RoutedEventArgs e) { DockSite dockSite = sender as DockSite; if (dockSite == null) { return; } // Open any windows that were waiting for the DockSite to be loaded IList <DockingWindow> windowsPendingOpen = dockSite.GetValue(WindowsPendingOpenProperty) as IList <DockingWindow>; dockSite.ClearValue(WindowsPendingOpenProperty); if (windowsPendingOpen != null && windowsPendingOpen.Count != 0) { foreach (DockingWindow dockingWindow in windowsPendingOpen) { OpenDockingWindow(dockSite, dockingWindow); } } }