LiggEasyWinApp-103-Ligg.EasyWinForm:View
首先请在VS里打开下面的文件,我们将对源码分段进行说明:
View(视图):一个Function(功能)对应多个View(视图),本框架用View(视图)实现多窗体(MDI)的效果。 一个View(视图)由多个Area(域)组成,Area(域)是FrameForm上各个Region上的一个Panel。Area(域)下面再包含Zone(区)。
View的配置
请看Ligg.EasyWinApp-103-00-Ligg.EasyWinForm:View的配置
View的初始化
对于MultipleView
首先通过MergeViewItems从 .\Applications\xxxx(Apllication)\Clients\Form\Functions\yyyy(Function)\ Views\Public(View).xml读取Public View的数据到_layoutElemets。然后Render,最后再设置Public View状态为Unchecked。当点击ViewMenuItem的时候, Checked的View会被隐藏;Public View是总是显示的View,其他View如果不是当前View,会被隐藏,所以Public View的状态永远是Unchecked。
对于SingleView
会把Zone的zoneLayoutElement“包装”成一条Public View 的数据,追加到layoutElemets,然后Render。
对于SingleView,不存在显示隐藏View的问题,所以也不用设置状态。
View的显示和隐藏
前文讲过:ViewMenuItem点击时会触发ViewMenuItemClickHandler,显示当前View 并隐藏前一个View。我们现在来看代码:
对于Simple类型的菜单项,如果已经Render过的View,则显示当前的View的ContentArea和ViewMenuArea,再隐藏前一个View的的ContentArea和ViewMenuArea;如果是如果没有Render过的View,则先读取、Render,再隐藏前一个View的ContentArea和ViewMenuArea。
对于Customized类型的菜单项,如果已经Render过的View,则显示当前的View的ContentArea,再隐藏前一个View的的ContentArea;如果是如果没有Render过的View,则先读取、Render,再隐藏前一个View的ContentArea。
Zone的控件如何生成、显示以及控件的动作,请看下一章节文档。
LiggEasyWinApp-104-Ligg.EasyWinForm:Zone
最新文章
- java空指针异常:java.lang.NullPointException
- libtool: line 990: g++: command not found的解决
- Java Connection.setAutoCommit
- DSP using MATLAB 示例Example3.21
- View绘制--onMeasure() 、onLayout()
- Robotlegs2 学习笔记 -- SwiftSuspenders 2.x (1)
- 删除或清空具有外键约束的表数据报-ERROR 1701 (42000)
- Chapter4:表达式
- 如何在 CentOS 7 上安装 Redis 服务器
- squid 代理服务器安装配置
- [转载][NAS] 使用win8的“存储池”功能~
- 如何让Vim成为我们的神器
- 使用java生成mapbox-gl可读的vector tile
- (五)java运算
- 关于checkpoint
- 微信小程序开发01-小程序的执行流程是怎么样的?
- 《内蒙古自治区第十三届大学生程序设计竞赛试题_H 公孙玉龙》
- UCloud 机房的网络搭建(计蒜客初赛第五场)
- ASP.NET Response 下载文件
- CachedThreadPool里的线程是如何被回收的?