我正在尝试在WPF中转换我的应用以使用AvalonDock
。我有一些窗口(大约10个)和主窗体DockingManager
。我想将那些窗口放在DockingManager
内。
我试过这个:
<ad:DockingManager x:Name="MainWindow">
<ad:DocumentPane x:Name="Windows" />
</ad:DockingManager>
FormDocumentSearch formDocumentSearch = new FormDocumentSearch(dc, this); //create window
DockableContent dct = new DockableContent() { Title = "Window" }; //create DockableContent
dct.Content = formDocumentSearch; //put the window in the DockableContent
Windows.Items.Add(dct);
这给了我以下错误:Window must be the root of the tree. Cannot add Window as a child of Visual.
。
我该怎么办?如何设置Window
或如何修改它们以便我仍然可以使用设计器并将它们放在AvalonDock
中?
答案 0 :(得分:2)
我不认为你可以在另一个窗口旁边添加一个窗口。尝试将窗口更改为Page。
变化
<Window ... >
...
</Window>
到
<Page ... >
...
</Page>
对于您想要添加为孩子的所有窗口。