3

こんにちは私はプログラムですべてDocumentContentのをドッキング解除できるかどうか疑問に思っていました。DocumentPan

助言がありますか?

ありがとうございました。

4

2 に答える 2

3

私はこの問題に数時間を費やし、次の解決策を見つけました。avalonのソースコードをダウンロードして変更しました。2つの変更を加えました。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が含まれている必要があり、DocumentContentではなくDockableContentである必要があります。それは私にとってはうまくいくようです;)

于 2013-02-20T07:14:22.890 に答える
1
void undockAll(LayoutDocumentPane pane)
{
    while(pane.Children.Count > 0)
       pane.Children[0].Float();
}
于 2015-09-27T13:35:14.350 に答える