我有一个棱镜v4 / MEF / WPF解决方案,可以将模块视图加载到我的Avalon Dock的DocumentPane中。我正在尝试创建close事件的句柄(当按下'X‘关闭DocumentPane时)。我搞不懂,这是我的RegionAdapter类中创建DockableContent的部分,也是我尝试处理close事件的地方(我尝试了3个事件):
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 ):
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的
发布于 2011-02-12 11:54:00
在这里找到答案http://avalondock.codeplex.com/discussions/231982?ProjectName=avalondock
我不得不补充一句:
IsCloseable = true
HideOnClose = falsehttps://stackoverflow.com/questions/4973511
复制相似问题