嗨,我想知道我是否可以以编程方式取消所有DocumentContent
s 。DocumentPan
有什么建议么?
谢谢你。
我在这个问题上花了几个小时并找到了以下解决方案。我下载了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。对我来说似乎工作正常;)
void undockAll(LayoutDocumentPane pane)
{
while(pane.Children.Count > 0)
pane.Children[0].Float();
}