internal void HandleFlyoutStatusChange(Flyout flyout, MetroWindow parentWindow) { if (flyout == null || parentWindow == null) { return; } this.ReorderZIndices(flyout); var visibleFlyouts = this.GetFlyouts(this.Items).Where(i => i.IsOpen).OrderBy(Panel.GetZIndex); parentWindow.HandleFlyoutStatusChange(flyout, visibleFlyouts); }