WPFAvalonDock基本用法
来源:互联网 发布:域名代表什么 编辑:程序博客网 时间:2024/05/20 05:06
本文简单介绍AvalonDock2.0基本用法,下载AvalonDock 2.0dll及主题http://avalondock.codeplex.com/
AvalonDock基本类介绍
DockingManager:停靠管理类,xaml中AvalonDock的根节点
LayoutRoot:布局根节点,有四个属性LeftSide,RightSide,TopSide,ButtomSide展示四个位置的内容
LayoutPanel:布局面板类,可有多个LayoutGroup,实际的窗格都位于LayoutPanel节点下
LayoutAnchorablePaneGroup:可停靠窗格组类
LayoutDocumentPaneGroup:文档窗格组类
LayoutAnchorablePane:可停靠窗格类
LayoutDocumentPane:文档窗格类
LayoutAnchorable:可停靠内容类
LayoutDocument:文档内容类
xaml布局代码
<Window x:Class="AvalonDockTest.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:avalondock="http://schemas.xceed.com/wpf/xaml/avalondock" Title="MainWindow" Height="350" Width="525"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="auto"/> <RowDefinition></RowDefinition> </Grid.RowDefinitions> <Menu Margin="0" HorizontalAlignment="Left" Name="menu1" VerticalAlignment="Top"> <MenuItem Header="恢复布局" Click="MenuItem_Click"/> <MenuItem Header="断点窗口" Click="MenuItem_Click_1"/> </Menu> <avalondock:DockingManager x:Name="dockingmanger" Grid.Row="1"> <avalondock:DockingManager.Theme> <avalondock:VS2010Theme/> </avalondock:DockingManager.Theme> <avalondock:LayoutRoot> <avalondock:LayoutRoot.LeftSide> <avalondock:LayoutAnchorSide> <avalondock:LayoutAnchorGroup> <avalondock:LayoutAnchorable Title="资源管理器" AutoHideHeight="50" ContentId="l1"> <TextBox Width="80" SelectionChanged="TextBox_SelectionChanged"/> </avalondock:LayoutAnchorable> <avalondock:LayoutAnchorable Title="数据库" AutoHideHeight="50" ContentId="l2"> <TextBox Width="80" SelectionChanged="TextBox_SelectionChanged"/> </avalondock:LayoutAnchorable> </avalondock:LayoutAnchorGroup> </avalondock:LayoutAnchorSide> </avalondock:LayoutRoot.LeftSide> <avalondock:LayoutRoot.BottomSide> <avalondock:LayoutAnchorSide> <avalondock:LayoutAnchorGroup x:Name="buttomgroup"> <avalondock:LayoutAnchorable Title="输出" ContentId="t1"> <TextBox TextWrapping="Wrap" AcceptsReturn="True"></TextBox> </avalondock:LayoutAnchorable> <avalondock:LayoutAnchorable Title="错误" ContentId="t2"> <TextBox TextWrapping="Wrap" AcceptsReturn="True"></TextBox> </avalondock:LayoutAnchorable> </avalondock:LayoutAnchorGroup> </avalondock:LayoutAnchorSide> </avalondock:LayoutRoot.BottomSide> <avalondock:LayoutPanel> <avalondock:LayoutDocumentPane> <avalondock:LayoutDocument Title="MainWindow.xaml" ContentId="d1"> <TextBox AcceptsReturn="True" TextWrapping="Wrap"></TextBox> </avalondock:LayoutDocument> <avalondock:LayoutDocument Title="MainWindow.xaml.cs" ContentId="d2"> <TextBox AcceptsReturn="True" TextWrapping="Wrap"></TextBox> </avalondock:LayoutDocument> </avalondock:LayoutDocumentPane> </avalondock:LayoutPanel> </avalondock:LayoutRoot> </avalondock:DockingManager> </Grid></Window>
动态改变
private void MenuItem_Click_1(object sender, RoutedEventArgs e) { try { LayoutAnchorable la = new LayoutAnchorable(); la.Title = "断点"; la.Content = new TextBox(); buttomgroup.Children.Add(la); } catch(Exception ex) { MessageBox.Show(ex.ToString()); } }
保存布局
var serializer = new XmlLayoutSerializer(dockingmanger); using(var stream = new StreamWriter("layout.xml")) { serializer.Serialize(stream); }
恢复布局
private void MenuItem_Click(object sender, RoutedEventArgs e) { var serializer = new XmlLayoutSerializer(dockingmanger); using(var stream = new StreamReader("layout.xml")) { serializer.Deserialize(stream); } }
阅读全文
0 0
- WPFAvalonDock基本用法
- 基本用法
- 基本用法
- 基本常用控件基本用法
- 基本常用控件基本用法
- gdb基本用法
- rpm的基本用法
- sfc的基本用法
- GDB基本用法zt
- GDB基本用法
- vi 的基本用法
- JProgressBar 的基本用法
- javascript 一些基本用法
- CheckBoxList控件基本用法
- NPlot的基本用法
- 一些js基本用法
- JAR的基本用法
- tar的基本用法
- Wireshark应用笔记(一):简介和应用
- android四大组件之服务
- Linux 注册自定tftpd服务
- Tomcat6 安装配置、多端口的多实例部署
- EFI引导的双系统启动顺序调整
- WPFAvalonDock基本用法
- SpringMVC中的Rest风格URL
- java提高篇(十六)-----异常(一)
- Linux 在线安装软件
- 03:其他基本数据类型存储空间大小
- 第一个SpringBoot工程
- 学习总结:毕业项目-物理数据库建表
- 创建型模式:【单例模式】
- 【HLS】HTTP Live Streaming draft-pantos-http-live-streaming-14