首先请在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.EasyWinFormZone

最新文章

  1. java空指针异常:java.lang.NullPointException
  2. libtool: line 990: g++: command not found的解决
  3. Java Connection.setAutoCommit
  4. DSP using MATLAB 示例Example3.21
  5. View绘制--onMeasure() 、onLayout()
  6. Robotlegs2 学习笔记 -- SwiftSuspenders 2.x (1)
  7. 删除或清空具有外键约束的表数据报-ERROR 1701 (42000)
  8. Chapter4:表达式
  9. 如何在 CentOS 7 上安装 Redis 服务器
  10. squid 代理服务器安装配置
  11. [转载][NAS] 使用win8的“存储池”功能~
  12. 如何让Vim成为我们的神器
  13. 使用java生成mapbox-gl可读的vector tile
  14. (五)java运算
  15. 关于checkpoint
  16. 微信小程序开发01-小程序的执行流程是怎么样的?
  17. 《内蒙古自治区第十三届大学生程序设计竞赛试题_H 公孙玉龙》
  18. UCloud 机房的网络搭建(计蒜客初赛第五场)
  19. ASP.NET Response 下载文件
  20. CachedThreadPool里的线程是如何被回收的?

热门文章

  1. 华为云Volcano:让企业AI算力像火山一样爆发
  2. shell 数组作为函数形参
  3. 纯css实现下雪特效
  4. [golang] nats的消息传递模型介绍
  5. Cisco学习记录(一):Cisco Packet Tracer官网下载方法
  6. 整理了2019年上千道Java面试题,近500页文档,用了1个月时间!
  7. eclipse Outline里图标的含义
  8. 《Java基础知识》Java多态和动态绑定
  9. 《Java Spring框架》基于IDEA搭建Spring源码
  10. 【CHRIS RICHARDSON 微服务系列】微服务架构中的进程间通信-3