Avalondock 第一步 创建停靠面板

Avalondock 第一步 创建停靠面板转载:https://www.cnblogs.com/minhost/p/7234647.html步骤1下载库文件加载指定的库,在项目上点击右键,打开管理NuGet程序包输入Avalondock安装Xceed.Products.Wpf.Toolkit.AvalonDock和Xceed.Products.Wpf.Toolkit.AvalonDock.Themes两…

大家好,又见面了,我是你们的朋友全栈君。

转载:https://www.cnblogs.com/minhost/p/7234647.html

 

步骤1 下载库文件

加载指定的库,在项目上点击右键,打开管理NuGet程序包

Avalondock 第一步 创建停靠面板

输入Avalondock

Avalondock 第一步 创建停靠面板

安装 Xceed.Products.Wpf.Toolkit.AvalonDock和 Xceed.Products.Wpf.Toolkit.AvalonDock.Themes两个库一个是控件库,一个是皮肤库,缺少任何一个,都会造成程序无法编译。

步骤2 引入命名空间

在项目中,定义命名空间如下:

xmlns:avalondock=”http://schemas.xceed.com/wpf/xaml/avalondock”

步骤3 编写基础代码

  1. 建立DockingManager

DockingManager停靠管理器类,是AvalonDock中的核心控件之一,负责管理浮动窗体、布局存储、恢复,样式主题等。在XAML中,是AvaDock元素的根节点

<Grid>

<Grid.RowDefinitions>

<RowDefinition Height=”Auto”></RowDefinition>

</Grid.RowDefinitions>

<avalondock:DockingManager Grid.Row=”0″>

 

</avalondock:DockingManager>

</Grid>

2、指定当前的皮肤

<avalondock:DockingManager>

<avalondock:DockingManager.Theme>

<avalondock:Office2007BlackTheme></avalondock:Office2007BlackTheme>

</avalondock:DockingManager.Theme>

</avalondock:DockingManager>

3、创建LayoutRoot根结点

布局根节点类,DockingManager中的内容控件完全占满DockingManager中的空间。LayoutRoot包含四个属性,LeftSide,RightSide,TopSide,BottomSide,分别用于展示DockingManager中左右上下四个位置的内容,但初始状态为隐藏状态。另外两个属性FloatingWindows,Hidden分别为浮动窗体集合和隐藏窗体集合。当一个窗格浮动时,AvalonDock会将其从其所在组中删除,然后放置到FloatingWindows集合中。当一个窗格关闭时,会将其放置在Hidden集合中。

<avalondock:DockingManager>

<avalondock:DockingManager.Theme>

<avalondock:Office2007BlackTheme></avalondock:Office2007BlackTheme>

</avalondock:DockingManager.Theme>

<avalondock:LayoutRoot>

</avalondock:LayoutRoot>

</avalondock:DockingManager>

4、构建面板LayoutPanel

布局面板类,LayoutRoot中的内容控件,完全占满LayoutRoot中的空间,在LayoutPanel中,可以有多个LayoutGroup,可以设定Orientation 属性,控件布局组的浮动方向。实际的窗格都位于LayoutPanel节点下。

<avalondock:DockingManager>

<avalondock:DockingManager.Theme>

<avalondock:Office2007BlackTheme></avalondock:Office2007BlackTheme>

</avalondock:DockingManager.Theme>

<avalondock:LayoutRoot>

<avalondock:LayoutPanel x:Name=”Panel” >

</avalondock:LayoutPanel>

</avalondock:LayoutRoot>

</avalondock:DockingManager>

5、构建可停靠面板LayoutAnchorablePane

可停靠窗格类,浮动窗格是可停靠控件LayoutAnchorable的容器。一个窗格中,可以有多个可停靠控件。浮动窗格中的可停靠控件只能是LayoutAnchorable.窗格大小设定后,不能自动改变。

<avalondock:DockingManager>

<avalondock:DockingManager.Theme>

<avalondock:Office2007BlackTheme></avalondock:Office2007BlackTheme>

</avalondock:DockingManager.Theme>

<avalondock:LayoutRoot>

<avalondock:LayoutPanel x:Name=”Panel” >

<avalondock:LayoutAnchorablePane x:Name=”Pane1″>

</avalondock:LayoutAnchorablePane>

<avalondock:LayoutAnchorablePane x:Name=”Pane2″>

</avalondock:LayoutAnchorablePane>

<avalondock:LayoutAnchorablePane x:Name=”Pane3″>

</avalondock:LayoutAnchorablePane>

</avalondock:LayoutPanel>

</avalondock:LayoutRoot>

</avalondock:DockingManager>

6、构建停靠内容控件LayoutAnchorable

可停靠内容类,一般放置在LayoutAnchorablePane中,其内容可以是用户自定义控件类型,比如,在UserControl中设置好WPF基础控件布局,然后将整个UserControl放置在LayoutAnchorable中,这样,整个UserControl内容就可以随着可停靠控件一起浮动或者停靠。

<avalondock:DockingManager>

<avalondock:DockingManager.Theme>

<avalondock:Office2007BlackTheme></avalondock:Office2007BlackTheme>

</avalondock:DockingManager.Theme>

<avalondock:LayoutRoot>

<avalondock:LayoutPanel x:Name=”Panel” >

<avalondock:LayoutAnchorablePane x:Name=”Pane1″>

<avalondock:LayoutAnchorable x:Name=”Solution1″ Title=”解决方案1″ ContentId=”Solution”/>

</avalondock:LayoutAnchorablePane>

<avalondock:LayoutAnchorablePane x:Name=”Pane2″>

<avalondock:LayoutAnchorable x:Name=”Solution2″ Title=”解决方案2″ ContentId=”Solution”/>

<avalondock:LayoutAnchorable x:Name=”Solution3″ Title=”解决方案3″ ContentId=”Solution”/>

</avalondock:LayoutAnchorablePane>

</avalondock:LayoutPanel>

</avalondock:LayoutRoot>

</avalondock:DockingManager>

以上定义了两个停靠面板且第一个停靠面板,有一个停靠控件,第二个停靠面板有三个停靠控件

其显示的效果如下图:

Avalondock 第一步 创建停靠面板

由知其基本层次关系如下:

DockingManager 包含LayoutRoot

LayoutRoot下面包含LayoutPanel

LayoutPanel下面包含LayoutAnchorablePane

LayoutAnchorablePane下面包含LayoutAnchorable

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/162132.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • jq 获取有焦点的input_jquery获得焦点和失去焦点

    jq 获取有焦点的input_jquery获得焦点和失去焦点前端网站中如果存在一些让用户填写内容的表单元素的话,我们可以使用JQ中获得焦点事件和失去焦点事件,来给用户作出一些提示的内容。今天我们就说一说JQuery下获得焦点和失去焦点的事件的使用方法。jqueryfocus()获得焦点事件focus()方法:当通过鼠标点击选中元素或通过tab键定位到元素时,该元素就会获得焦点。语法:例:input输入框获得焦点时改变其边框的颜色示例代码:当鼠标移入…

  • WKT解读

    WKT-概念WKT(Well-knowntext)是一种文本标记语言,用于表示矢量几何对象、空间参照系统及空间参照系统之间的转换。它的二进制表示方式,亦即WKB(well-knownbinary)则胜于在传输和在数据库中存储相同的信息。该格式由开放地理空间联盟(OGC)制定。WKT-几何对象WKT可以表示的几何对象包括:点,线,多边形,TIN(不规则三角网)及多…

  • 手把手教你做出数据可视化项目(七)可视化图表数据动态获取及界面跳转[通俗易懂]

    手把手教你做出数据可视化项目(七)可视化图表数据动态获取及界面跳转[通俗易懂]数据可视化前言:https://blog.csdn.net/diviner_s/article/details/115933789ApacheEcharts简介:https://blog.csdn.net/diviner_s/article/details/115934089项目最终效果图:此篇博客为自己学习pink老师的课后完成的项目的总结与记录,仅供交流参考。版权所有,转载请标注原作者!使用echarts技术做的可视图,此外其项目包含的技术有html、css、js、jquerry、aja.

  • 数据可视化工具d3与echarts的区别

    数据可视化工具d3与echarts的区别数据可视化工具d3与echarts的区别

  • JavaScript给元素添加class属性

    JavaScript给元素添加class属性注意:element.classList.remove()、element.classList.add()—ie9及以下不兼容//移除div的class属性obj.classList.remove(‘active’);//添加class属性值//方式一obj.className+=’newactive’;//方式二//obj.className=…

  • Java基准测试工具JMH详解

    Java基准测试工具JMH详解Java基准测试工具JMH详解1.JMH简介1.1JMH概念1.2JMH与JMeter区别1.3JMH注解说明2.JMH使用2.1创建项目2.2引入依赖2.3启动异常解决2.4JMH案例11.JMH简介1.1JMH概念JMHisaJavaharnessforbuilding,running,andanalysingnano/micro/milli/macrobenchmarkswritteninJavaandotherlanguagestargett

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号