public FloatFormEventArgs(DockFloatingWindow form)
 {
     FloatForm = form;
 }
        void FloatingBays_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            var bays = (ObservableCollection<DockFloatingBay>)sender;
            switch (e.Action)
            {
                case System.Collections.Specialized.NotifyCollectionChangedAction.Reset:
                    foreach (DockFloatingBay item in bays)
                    {
                        item.TitleBarHeight = TitleBarHeight;
                        item.Initialize(this, (DockBayLayoutEngine)LayoutEngine);
                        _baysOrder.AddFirst(item);

                        var wnd = new DockFloatingWindow(item);
                        wnd.Closed += wnd_Closed;
                        wnd.DragedWindowMoved += wnd_WindowDraged;
                        wnd.EndWindowDrag += wnd_EndWindowDrag;
                        wnd.Activated += wnd_Activated;
                        wnd.Show();
                        wnd.Owner = Window.GetWindow(this);
                    }
                    break;
                case System.Collections.Specialized.NotifyCollectionChangedAction.Add:
                    foreach (DockFloatingBay item in e.NewItems)
                    {
                        item.TitleBarHeight = TitleBarHeight;
                        item.Initialize(this, (DockBayLayoutEngine)LayoutEngine);
                        _baysOrder.AddFirst(item);

                        var wnd = new DockFloatingWindow(item);
                        wnd.Closed += wnd_Closed;
                        wnd.DragedWindowMoved += wnd_WindowDraged;
                        wnd.EndWindowDrag += wnd_EndWindowDrag;
                        wnd.Activated += wnd_Activated;
                        wnd.Show();
                        wnd.Owner = Window.GetWindow(this);
                    }
                    break;
                case System.Collections.Specialized.NotifyCollectionChangedAction.Remove:
                    foreach (DockFloatingBay item in e.OldItems)
                    {
                        //これやるとRootがnullになるためにPanePurge時にRootへ参照できな
                        //くなる。Closeしたら再利用不可だしRootは後処理せずに放っておく
                        //item.Initialize(null);
                        _baysOrder.Remove(item);

                        var wnd = (DockFloatingWindow)item.Parent;
                        wnd.Closed -= wnd_Closed;
                        wnd.DragedWindowMoved -= wnd_WindowDraged;
                        wnd.EndWindowDrag -= wnd_EndWindowDrag;
                        wnd.Activated -= wnd_Activated;
                        wnd.Close();
                    }
                    break;
                default:
                    throw new NotSupportedException();
            }
        }