您好我想知道我是否可以通过编程方式解除DocumentContent
DocumentPan
的所有问题。
任何建议?
谢谢。
答案 0 :(得分:3)
我花了几个小时来解决这个问题并找到了以下解决方案。我下载了avalon的源代码并对其进行了修改。我做了两次修改。 DocumentPane类中的第一个:
public void UnDock(DockableContent content)
{
DockingManager manager = GetManager();
Point point = this.PointToScreenDPI(new Point(0, 0));
manager.Drag(content, point, new Point(0, 0));
manager.CompleteDragging(point);
}
第二,我将CompleteDragging方法的可见性从私有扩展到内部。
UnDock的使用非常简单:
dockumentPane1.UnDock(dockablePane1.Items[0] as DockableContent);
当然,DocumentPane应该包含一些DockableContent,它应该是DockableContent而不是DocumentContent。 对我来说似乎没问题;)
答案 1 :(得分:1)
void undockAll(LayoutDocumentPane pane)
{
while(pane.Children.Count > 0)
pane.Children[0].Float();
}