AvalonDock学习总结

AvalonDock学习总结介绍:借助AvalonDock可以开发出类似于VS2010的软件界面,实现可停靠布局。使用时需要Nugit中下载Extended.wpf.toolkit插件.在Xaml中需要应用命名空间xmlns:avalon=”http://schemas.xceed.com/wpf/xaml/avalondock”AvalonDock库提供了一些基本的类。DockingManger:管理停靠类。DockingManger中只允许包含一个LayoutRoot类DockingM…

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

介绍:

        借助AvalonDock可以开发出类似于VS2010的软件界面,实现可停靠布局。

使用时需要Nugit中下载Extended.wpf.toolkit插件.

在Xaml中需要应用命名空间

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

AvalonDock库提供了一些基本的类。

  • DockingManger:管理停靠类。DockingManger中只允许包含一个LayoutRoot类
  • DockingMange.Theme:用于设置AvalonDock的布局主题。        主题主要包含如下四种主题:VS2010Theme、AeroTheme、GenericTheme、MetroTheme。
  • LayoutRoot:布局根节点类。LayoutRoot下只可以有一个LayoutPanel
  • LayoutPanel:布局面板类。 LayoutPanel下可以嵌套一个LayoutPanel
  • LayoutAnchorablePane:可停靠窗格类。
  • LayoutDocumentPane:文档窗格类。
  • LayoutAnchorablePaneGroup:可停靠窗格组类。
  • LayoutDocumentPaneGroup:文档窗格组类。
  • LayoutAnchorable:可停靠内容类。
  • LayoutDocument:文档内容类。
  • DockingManager作为顶层容器,然后包含一个LayoutRoot对象,LayoutRoot中又包含一个LayoutPanel对象。LayoutPanel中便是LayoutAnchroablePane对象和LayouDocumentPane对象的集合。同时,可以对LayoutAnchroablePane对象和LayouDocumentPane对象进行分组,每个组可以单独设定组内的浮动方向。LayoutAnchorablePane又是LayoutAnchorable的容器,LayioutDocumanePane又是LayoutDocument的容器。一层一层进行嵌套,在最后的LayoutAnchorable中或者LayoutDocument中,我们放入我们真正的控件对象,这样,就可以对他们进行分类摆放布局。

可以在layoutroot下可以增加多个Layout.Root.Leftside、 Layout.Root.Rightside、Layout.Root.BottomSide、

AvalonDocking提供了格式的保存和恢复。(恢复布局时,有一点需要注意,需要为LayoutAnchrobale对象和LayoutDocument对象设置ContentId属性,否则,DockingManager会忽略内容的恢复。

 

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

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

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

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

(0)


相关推荐

  • git reset后如何返回最新版本_reset按钮无法恢复

    git reset后如何返回最新版本_reset按钮无法恢复一、问题描述在利用github实现多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时我们希望能撤销提交操作,让程序回到提交前的样子,本文总结了两种解决方法:回退(reset)、反做(revert)。二、背景知识git的版本管理,及HEAD的理解使用git的每次提交,Git都会自动把它们串成一条时间线,这条时间线就是一个分支。如果没有新建分支,那么…

  • 织梦CMS提示DedeTag Engine Create File False错误的解决办法总结

    织梦CMS提示DedeTag Engine Create File False错误的解决办法总结

  • mybatis缓存配置

    mybatis缓存配置mybatis的缓存有三种方式:1、一级缓存(基于SqlSession会话级别的;2、二级缓存(基于nameSpace级别的,范围比以及缓存更广);3、第三方缓存;mybatis缓存使示意图:一、一级缓存说明:其中一级缓存是mybatis默认使用的缓存,无需手动配置,二级缓存需要手动配置;一级缓存失效条件1)sqlSession不同,由于一级缓存是基于sqlSession级别的,所以当使用不同sq…

  • LeetCode第一题:两数之和-C++

    LeetCode第一题:两数之和-C++自己的解答(简单的遍历所有可能的组合,找到最终的结果):【不是特别熟悉C++,先有一个vector的插入:vector.puch_back(),主要是各种运用的不熟练,希望能有改进】给出简单代码:classSolution{public:vector<int>twoSum(vector<int>&nums,inttarget){…

  • 项目管理-5大过程组-10大知识领域-47过程

    项目管理五大过程组:1、启动过程组:获得授权,定义一个新项目或现有项目的一个新阶段,正式开始该项目或阶段的一组过程。2、规划过程组:明确项目范围,优化目标,为实现目标而制定行动方案的一组过程。3、执行过程组:完成项目管理计划中确定的工作以实现项目目标的一组过程。4、监控过程组:跟踪、审查和调整项目进展与绩效,识别必要的计划变更并启动相应变更的一组过程。5、收尾过程组:为完结所有过程组的…

  • php中使用head进行二进制流输出,让用户下载PDF等附件的方法

    php中使用head进行二进制流输出,让用户下载PDF等附件的方法

发表回复

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

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