如何以编程方式重新停靠浮动 window
How to Re-Dock a floating window Programmatically
我正在使用 AvalonDock 进行对接功能。 window 可以从主应用程序中拉出,作为浮动 window。一旦父 window 卸载,我想将浮动 window 重新停靠(以编程方式)回到它的位置。
示例代码为:
<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>
有人知道吗?
由于您使用的是代码隐藏,只需在 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();
我正在使用 AvalonDock 进行对接功能。 window 可以从主应用程序中拉出,作为浮动 window。一旦父 window 卸载,我想将浮动 window 重新停靠(以编程方式)回到它的位置。
示例代码为:
<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>
有人知道吗?
由于您使用的是代码隐藏,只需在 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();