开发者

Prism, AvalonDock Region Adapter (Handling close DocumentPane event)

I have a Prism v4 / MEF / WPF solution that loads module views into a DocumentPane in my Avalon Dock. I'm trying to create a handle on the close event (when the 'X' is pressed to close a DocumentPane). I can't figure it out, this is the portion of my RegionAdapter class that creates the DockableContent and also where I attempt to handle the close event (I tried with 3 events):

private void OnViewsCollectionChanged(object sender, NotifyCollectionChangedEventArgs e, IRegion region, DocumentPane regionTarget)
{
    if (e.Action == NotifyCollectionChangedAction.Add)
    {
        foreach (object item in e.NewItems)
        {
            UIElement view = item as UIElement;

            if (view != null)
            {
                DockableContent newContentPane = new DockableContent()
                {
                    Content = item,
                    Title = ((ITabViewInfo)view).TabViewTitle
                    Icon = ((ITabViewInfo)view).TabViewIcon
                };
  开发者_运维百科              newContentPane.Closed += new EventHandler(newContentPane_Closed);
                newContentPane.Manager.DocumentClosed +=new EventHandler(Manager_DocumentClosed);
                newContentPane.Manager.DocumentClosing +=new EventHandler<System.ComponentModel.CancelEventArgs>(Manager_DocumentClosing);

                regionTarget.Items.Add(newContentPane);
                newContentPane.Activate();
            }
        }
    }
    else if (e.Action == NotifyCollectionChangedAction.Remove)
    {
        // this is never hit
        Debug.WriteLine("removed");
    }
}

These events are never hit (I have a debug.writeline in each one):

        newContentPane.Closed += new EventHandler(newContentPane_Closed);
        newContentPane.Manager.DocumentClosed +=new EventHandler(Manager_DocumentClosed);
        newContentPane.Manager.DocumentClosing +=new EventHandler<System.ComponentModel.CancelEventArgs>(Manager_DocumentClosing);

How can I handle the close event of a DocumentPane?

The code I used for this RegionAdapter is based off of http://blog.raffaeu.com/archive/2010/07/04/wpf-and-prism-tab-region-adapter-part-02.aspx


Found the answer here http://avalondock.codeplex.com/discussions/231982?ProjectName=avalondock

I had to add:

IsCloseable = true
HideOnClose = false
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜