我正在使用AvalonDock进行对接功能。该窗口可以作为浮动窗口从主应用程序中拉出。父窗口卸载后,我想重新(以编程方式)将浮动窗口停靠回原处。
示例代码为:
<xcad:DockingManager x:Name="MyDockingManager">
<xcad:LayoutRoot x:Name="_layoutRoot">
<xcad:LayoutPanel Orientation="Vertical">
<xcad:LayoutAnchorablePaneGroup>
<xcad:LayoutAnchorablePane>
<xcad:LayoutAnchorable ContentId="moduleView" Title="Module View" CanHide="False" CanClose="False" CanAutoHide="False" CanFloat="False">
<Grid>
<!-- user controls -->
</Grid>
</xcad:LayoutAnchorable>
</xcad:LayoutAnchorablePane>
<xcad:LayoutAnchorablePane>
<xcad:LayoutAnchorable ContentId="liveLog" Title="Live Logs" CanHide="False" CanAutoHide="False" CanClose="False">
<ListView x:Name="MyListView">
</ListView>
</xcad:LayoutAnchorable>
</xcad:LayoutAnchorablePane>
</xcad:LayoutAnchorablePaneGroup>
</xcad:LayoutPanel>
</xcad:LayoutRoot>
</xcad:DockingManager>
有人有主意吗?
答案 0 :(得分:2)
由于您使用的是隐藏代码,因此只需在LayoutAnchorable
中添加一个名称即可完成此操作,例如:
<xcad:LayoutAnchorable x:Name="liveLogPane" ContentId="liveLog" Title="Live Logs"
CanHide="False" CanAutoHide="False" CanClose="False">
<ListView x:Name="MyListView">
</ListView>
</xcad:LayoutAnchorable>
然后调用Dock
方法:
liveLogPane.Dock();