xmlns:avalon="http://schemas.xceed.com/wpf/xaml/avalondock"
<Window x:Class="WpfApp6.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp6"
xmlns:avalon="http://schemas.xceed.com/wpf/xaml/avalondock"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<avalon:DockingManager x:Name="dockManager" Grid.Column="0">
<!--设置主题-->
<avalon:DockingManager.Theme>
<avalon:MetroTheme></avalon:MetroTheme>
</avalon:DockingManager.Theme>
<!--设置布局-->
<avalon:LayoutRoot x:Name="layOutRoot">
<avalon:LayoutPanel x:Name="layOutPanel" Orientation="Horizontal">
<avalon:LayoutAnchorablePane x:Name="panelBottom">
<avalon:LayoutAnchorable Title="Bottom3"></avalon:LayoutAnchorable>
</avalon:LayoutAnchorablePane>
<avalon:LayoutAnchorablePane x:Name="panelBottom2">
<avalon:LayoutAnchorable Title="Bottom3"></avalon:LayoutAnchorable>
</avalon:LayoutAnchorablePane>
</avalon:LayoutPanel>
</avalon:LayoutRoot>
</avalon:DockingManager>
<Button Grid.Column="1" Click="Button_Click"></Button>
</Grid>
</Window>
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Xceed.Wpf.AvalonDock;
using Xceed.Wpf.AvalonDock.Layout;
using Xceed.Wpf.AvalonDock.Layout.Serialization;
using Xceed.Wpf.Themes.MaterialDesign;
namespace WpfApp6
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
LayoutAnchorablePane layoutAnchorablePane = new LayoutAnchorablePane();
LayoutAnchorable anchorable = new LayoutAnchorable
{
Title = "我的可停靠窗口",
Content = new Button(),
};
layoutAnchorablePane.Children.Add(anchorable);
layOutPanel.Children.Add(layoutAnchorablePane);
}
}
}
anchorable.Float(); //调用Float方法,使窗体浮动显示
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Xceed.Wpf.AvalonDock;
using Xceed.Wpf.AvalonDock.Layout;
using Xceed.Wpf.AvalonDock.Layout.Serialization;
using Xceed.Wpf.Themes.MaterialDesign;
namespace WpfApp6
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
LayoutAnchorablePane layoutAnchorablePane = new LayoutAnchorablePane();
LayoutAnchorable anchorable = new LayoutAnchorable
{
Title = "我的可停靠窗口",
Content = new Button(),
};
layoutAnchorablePane.Children.Add(anchorable);
layOutPanel.Children.Add(layoutAnchorablePane);
anchorable.Float();
}
}
}
<!--主界面-->
<Avalon:DockingManager
x:Name="dockingManager"
Grid.Row="1"
Background="#35383A"
AllowMixedOrientation="True">
<!--设置主题-->
<Avalon:DockingManager.Theme>
<Avalon:MetroTheme/>
</Avalon:DockingManager.Theme>
<!--表头的样式-->
<Avalon:DockingManager.AnchorableTitleTemplate>
<DataTemplate>
<Border Background="#212121">
<Label Content="{Binding Title}" Foreground="White" VerticalAlignment="Center" FontSize="13" Height="24"/>
</Border>
</DataTemplate>
</Avalon:DockingManager.AnchorableTitleTemplate>
<Avalon:LayoutRoot>
<!--主容器-->
<Avalon:LayoutPanel>
<!--容器水平布局-->
<Avalon:LayoutPanel Orientation="Horizontal">
<!--工具栏-->
<Avalon:LayoutAnchorablePane x:Name="LayAnch1">
<Avalon:LayoutAnchorable Title="工具栏" ContentId="1" CanClose="False" CanHide="False" CanAutoHide="False">
<!--工具栏-->
<StyleFrm:Toolbar/>
</Avalon:LayoutAnchorable>
</Avalon:LayoutAnchorablePane>
<Avalon:LayoutPanel>
<!--流程栏-->
<Avalon:LayoutAnchorablePane x:Name="LayAnch2">
<Avalon:LayoutAnchorable Title="流程栏" ContentId="2" CanClose="False" CanHide="False" CanAutoHide="False">
<!--流程栏-->
<StyleFrm:Processbar/>
</Avalon:LayoutAnchorable>
</Avalon:LayoutAnchorablePane>
</Avalon:LayoutPanel>
</Avalon:LayoutPanel>
<!--容器垂直布局-->
<Avalon:LayoutPanel Orientation="Vertical">
<!--图像显示-->
<Avalon:LayoutAnchorablePane>
<Avalon:LayoutAnchorable Title="图像显示" ContentId="123" CanClose="False" CanHide="False" CanAutoHide="False">
<Grid Name="Border_Hwindow"/>
</Avalon:LayoutAnchorable>
</Avalon:LayoutAnchorablePane>
<Avalon:LayoutPanel Orientation="Horizontal" x:Name="LayAnch3">
<!--LOG日志-->
<Avalon:LayoutAnchorablePane>
<Avalon:LayoutAnchorable Title="LOG日志" ContentId="123" CanClose="False" CanHide="False" CanAutoHide="False">
<!--LOG日志-->
<StyleFrm:LogTool/>
</Avalon:LayoutAnchorable>
</Avalon:LayoutAnchorablePane>
<!--设备状态-->
<Avalon:LayoutAnchorablePane>
<Avalon:LayoutAnchorable Title="设备状态" ContentId="123" CanClose="False" CanHide="False" CanAutoHide="False">
<!--设备状态-->
<StyleFrm:DeviceConnect/>
</Avalon:LayoutAnchorable>
</Avalon:LayoutAnchorablePane>
</Avalon:LayoutPanel>
</Avalon:LayoutPanel>
</Avalon:LayoutPanel>
</Avalon:LayoutRoot>
</Avalon:DockingManager>
<Window x:Class="WpfApp17.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp17"
mc:Ignorable="d"
xmlns:avalon="http://schemas.xceed.com/wpf/xaml/avalondock"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<avalon:DockingManager>
<avalon:DockingManager.Theme>
<avalon:MetroTheme></avalon:MetroTheme>
</avalon:DockingManager.Theme>
<avalon:LayoutRoot>
<avalon:LayoutRoot.LeftSide>
<avalon:LayoutAnchorSide>
<avalon:LayoutAnchorGroup>
<avalon:LayoutAnchorable Title="Messages" ContentId="layoutAnchorableMessgae" IsActive="True">
<TextBox x:Name="textBoxMessage"/>
</avalon:LayoutAnchorable>
<avalon:LayoutAnchorable Title="Log" ContentId="layoutAnchorableLog"/>
</avalon:LayoutAnchorGroup>
</avalon:LayoutAnchorSide>
</avalon:LayoutRoot.LeftSide>
</avalon:LayoutRoot>
</avalon:DockingManager>
</Grid>
</Window>
因篇幅问题不能全部显示,请点此查看更多更全内容