首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prism、AvalonDock区域适配器(处理close DocumentPane事件)

Prism、AvalonDock区域适配器(处理close DocumentPane事件)
EN

Stack Overflow用户
提问于 2011-02-12 04:06:21
回答 1查看 2.7K关注 0票数 1

我有一个棱镜v4 / MEF / WPF解决方案,可以将模块视图加载到我的Avalon Dock的DocumentPane中。我正在尝试创建close事件的句柄(当按下'X‘关闭DocumentPane时)。我搞不懂,这是我的RegionAdapter类中创建DockableContent的部分,也是我尝试处理close事件的地方(我尝试了3个事件):

代码语言:javascript
复制
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");
    }
}

这些事件永远不会命中(我在每个事件中都有一个debug.writeline ):

代码语言:javascript
复制
        newContentPane.Closed += new EventHandler(newContentPane_Closed);
        newContentPane.Manager.DocumentClosed +=new EventHandler(Manager_DocumentClosed);
        newContentPane.Manager.DocumentClosing +=new EventHandler<System.ComponentModel.CancelEventArgs>(Manager_DocumentClosing);

如何处理DocumentPane的close事件?

我用于这个RegionAdapter的代码是基于http://blog.raffaeu.com/archive/2010/07/04/wpf-and-prism-tab-region-adapter-part-02.aspx

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-12 11:54:00

在这里找到答案http://avalondock.codeplex.com/discussions/231982?ProjectName=avalondock

我不得不补充一句:

代码语言:javascript
复制
IsCloseable = true
HideOnClose = false
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4973511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档