假设您有一个带有自己的XAML代码的视图(userControl),另一个窗口(窗口)也有自己的XAML代码。有没有办法可以将此窗口停靠在视图中(视图将重新排列UI以容纳停靠的窗口),如果您想移动窗口,还可以将窗口移出视图?
答案 0 :(得分:0)
查看AvalonDock项目。
AvalonDock是WPF的停靠窗口控件,可让您创建 使用全功能窗口对接系统的可自定义布局 类似于许多流行的集成开发中发现的 environements(IDE),例如Visual Studio。它包括主题和 样品让你入门。
使用示例:
<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:avalonDock="http://avalondock.codeplex.com"
Title="MainWindow" Height="434" Width="684">
<Grid>
<avalonDock:DockingManager x:Name="dockingManager">
<avalonDock:LayoutRoot>
<avalonDock:LayoutPanel Orientation="Horizontal">
<avalonDock:LayoutDocumentPane/>
<avalonDock:LayoutAnchorablePane DockWidth="150">
<avalonDock:LayoutAnchorable Title="Sample Tool Pane">
<TextBox/>
</avalonDock:LayoutAnchorable>
</avalonDock:LayoutAnchorablePane>
</avalonDock:LayoutPanel>
<avalonDock:LayoutRoot.LeftSide>
<avalonDock:LayoutAnchorSide>
<avalonDock:LayoutAnchorGroup>
<avalonDock:LayoutAnchorable Title="Autohidden Content">
<TextBox/>
</avalonDock:LayoutAnchorable>
</avalonDock:LayoutAnchorGroup>
</avalonDock:LayoutAnchorSide>
</avalonDock:LayoutRoot.LeftSide>
</avalonDock:LayoutRoot>
</avalonDock:DockingManager>
</Grid>
</Window>
您可以找到的文档here。