WPFAvalonDock基本用法

article/2025/9/24 23:32:19

本文简单介绍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);}}


http://chatgpt.dhexx.cn/article/vHr3ZHbj.shtml

相关文章

AvalonDock的基本用法

AvalonDock是优秀的开源项目&#xff0c;用于创建可停靠式布局&#xff0c;能够在WPF中方便开发出类似VS2010的软件界面。对于复杂的软件系统&#xff0c;大量控件的使用会使的界面变得难以管理。AvalonDock帮我们解决了这一问题。想要在WPF项目中使用AvalonDock的功能&#xf…

WPF随笔(十)--使用AvalonDock实现可停靠式布局

我们每天使用的许多软件都使用了可停靠式布局&#xff0c;可以方便的打开、关闭、收起、展开、移动选项卡。今天就来说明如何使用AvalonDock实现这种可停靠式布局。 AvalonDock安装 最新版本的AvalonDock类库包含在程序包Extended.Wpf.Toolkit中&#xff0c;属于Xceed旗下的一…

WPF AvalonDock 常用功能使用

AvalonDock是什么&#xff1f; AvalonDock是一个开源项目【GitHub - Dirkster99/AvalonDock: Our own development branch of the well known WPF document docking libraryGitHub - Dirkster99/AvalonDock: Our own development branch of the well known WPF docume…

WPF 第三方控件学习使用——可停靠布局控件(AvalonDock)

需求 近期在做公司上位机产品规划与实验&#xff0c;参考了Blender软件的布局风格&#xff0c;希望能用WPF也做一个类似布局的上位机。于是开始寻找资源&#xff0c;很快就发现了AvalonDock。 AvalonDock简介 AvalonDock是Xceed公司 Wpf.Toolkit 中的一款收费产品&#xff0…

wpf-AvalonDock基础-安装和更换主题

2022/7/29更新&#xff1a;去掉标题行的钉子 在LayoutAnchorable上添加属性&#xff1a; CanAutoHide"False" CanClose"False"如果要去掉X&#xff0c;再添加 CanHide"False"最近对wpf的多窗口排列问题深感头疼&#xff0c;算尺寸、位置太麻烦…

AvalonDock使用(1)-基本用法

AvalonDock的基本用法 介绍AvalonDock库中的基本类DockingManager&#xff1a;停靠管理器类LayoutRoot : 布局根节点类LayoutPanel&#xff1a;布局面板类LayoutAnchorablePane&#xff1a;可停靠窗格类LayoutAnchorable:可停靠内容类 LayoutDocumentPane:文档窗格类LayoutDocu…

十进制-75在计算机中,十进制数75转换成二进制数是多少?

75转换成二进制是&#xff1a;1001011。 75/237......1 37/218......1 18/29.........0 9/24...........1 4/22...........0 2/21...........0 从下往上读余数&#xff0c;就是整数部分的案1001011。拓展资料&#xff1a; 十进制整数转换为二进制整数方法&#xff1a; 十进制整…

二进制数的算术运算

2&#xff0c; 二进制数的算术运算 2.1 二进制数的算术运算 二进制数的算术运算包括加法、减法、乘法和除法。 1)加法运算 加法进位规则:逢二进一。 加法运算法则: 000 01101 1110(向高位进位) 例:(1101)2(1011)2?&#xff0c;解算如下: 从执行加法的过程可知&…

二进制数与十进制数的相互转换、二进制数的乘除运算、移位运算

二进制数与十进制数的转换 聊二进制数的运算前&#xff0c;我们先看看二进制数的值与十进制数的值是如何相互转换的&#xff0c; 十进制转换成二进制 将十进制数除以2&#xff0c;得到的商再除以2&#xff0c;依次类推直到商为1时为止&#xff0c;然后在旁边标出各步的余数&am…

计算机组成原理 二进制数的运算

1、算数运算 &#xff08;1&#xff09;加法运算 二进制加法法则为&#xff1a; 000 10011 110&#xff08;向邻近高位有进位&#xff09; 1111&#xff08;向邻近高位有进位&#xff09; &#xff08;2&#xff09;减法运算 二进制减法法则为&#xff1a; 0-00 1-10 1-01 0-1…

将输入的十进制数转换成二进制数

软件&#xff1a;DEV&#xff0c;语言&#xff1a;C语言。 声明&#xff1a;本案例只考虑了整数&#xff08;即int型&#xff09;&#xff0c;故无法进行小数之间的转换&#xff08;例如float型&#xff0c;double型&#xff09;。 十进制整数转换为二进制整数采用"除2取…

二进制数表示法

二进制数表示法 二进制数是数字电路中应用最广泛的一种数值表示方法&#xff0c;在逻辑代数中也经常使用。 1、十进制数 在这种计数进位制中&#xff0c;每一位用0~9十个数字来表示&#xff0c;所以计数基数是十。超过9的数则需用多位数表示&#xff0c;其中低位数和相邻高位…

c语言程序10进制转2进制,C语言十进制数转换为二进制数

这是一个C语言 do while 循环示例:统计十进制正整数 n 转换为二进制数后,其二进制序列中包含的 1 和 0 的个数。 问题分析 输入:一个正整数。 输出:两个整数:1 的个数和 0 的个数。 将十进制数 n 转换成二进制数,一般采用“除 2 取余,倒序输出”的方法。 本题只是统计转…

二进制转十进制c++语言数组,C++实现读入二进制数并转换为十进制输出

C++实现读入二进制数并转换为十进制输出 题目描述 已知一个只包含0和1的二进制数,长度不大于10,将其转换为十进制并输出。 输入描述 输入一个二进制整数n,其长度不大于10 输出描述 输出转换后的十进制数,占一行 样例输入 110 样例输出 6 solution: 很多学过C初学C++的人可…

二进制数的加法步骤解析

文章目录 位运算二进制数加法步骤例子代码演示 二进制的加法需要用到位运算&#xff0c;所以先来复习下位运算。 位运算 运算符号(java)描述位与&都为1&#xff0c;结果为1&#xff0c;否则为0。位或|有一个为1或两个位都为1&#xff0c;则结果为1&#xff0c;否则为0。换…

二进制数及其运算

计算机的底层都是使用二进制数据进行数据流传输的&#xff0c;那么为什么会使用二进制表示计算机呢&#xff1f;什么是二进制数呢&#xff1f;如何使用二进制进行加减乘除&#xff1f;二进制数如何表示负数呢&#xff1f;本文将为你揭晓。 为什么用二进制表示 计算机内部是由I…

二进制数的运算

文章目录 前言一、加法运算规则二、减法运算规则三、乘法运算规则四、除法运算规则五、逻辑或运算规则六、逻辑与运算规则七、逻辑非运算规则八、逻辑异或运算规则 前言 此篇文章仅介绍二进制数的运算&#xff0c;不涉及其他进制的运算 一、加法运算规则 000 011 101 110 &…

什么是二进制数?二进制数是如何表示计算机信息的?

二进制是什么&#xff1f; 想要了解二进制数是如何表示计算机信息的&#xff1f;先要追本溯源&#xff0c; 二进制&#xff08;binary&#xff09;在数学和数字电路中指以2为基数的记数系统&#xff0c;以2为基数代表系统是二进位制的。这一系统中&#xff0c;通常用两个不同的…

二进制

博客引用处&#xff08;以下内容在原有博客基础上进行补充或更改&#xff0c;谢谢这些大牛的博客指导&#xff09;&#xff1a; 二进制 二进制和十进制间小数怎么转换 二进制进位 前言&#xff1a; 二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的…