XAF-UI元素概述
XAF框架会根据业务模型自动生成默认的UI。一般来说,您可以使用默认的用户界面,但如果它不符合您的要求,您可以自定义它。要做到这一点,你应该知道UI是由哪些元素组成的,以及你可以自定义什么元素,以实现替换或添加功能。
有关此的一般信息在本主题中提供。有关每个元素的详细信息,请参阅本帮助部分中的其余主题。
在XAF框架中,定义了一些抽象的元素,在实际平台中,使用抽象元素绘制出真实的元素,即,抽象元素描述了实际元素的内容。
下面的图片展示了Windows窗体和ASP.NET Web应用程序版本中的抽象UI元素和相应的控件。
简单的说:下图中的标注文字都是XAF中定义的一些对象(类)。



什么是抽像元素?
就是在web/win中并不存在这样的控件,XAF定义了一个类,如:
DetailViewItem (PropertyEditor) ,指的是TextBox,DropDownList这样的控件包装的类,即,由PropertyEditor来生成TextBox.
已经有了一大堆控件了,为什么要再弄个PropertyEditor呢?概念这么多,烦死人了。。。。
原因:web/win/mobile中,使用的textbox实现是不一样的,比如,win中用的是win控件,web中用的是html的input,不能集中控制,即,统一定义。
再比如,我们需要设置某个字段的必填验证,在XAF中的做法是直接在BO(业务对象)上面写[RuleRequiredField],不管是什么类型的属性,都可以这样做。
那么XAF是如何让控件具备验证功能的呢?
答案就是对控件进行一次包装,在包装中,针对每个控件的特性设置该如何验证必填。
以下列表提供了UI元素的摘要信息。
- Window (窗口)
他使用Template进行显示UI,它继承了Frame类,目的是可以包含WindowController。 - Frame
可以理解成,这是一个视图的容器,一个Frame中只有一个视图,Frame包含了控制器集合,即,这个Frame中将有哪些控制器。可以为Frame设置视图。 - Template(模板)
是指最终界面的模板,通常在模块中制定了具体的控件,如,XAF win中有ribbon为主要控件的模板,也有普通的toolbar形式的。 - View(视图)
当前XAF中视图主要有三种:- DetailView,即用于新增、编辑数据的,显示属性对应着一个控件的。
- ListView,用于展示多条数据的,有Grid,树,日历等形式。
- DashboardView,形式上比较类似于DetailView,但它的功能是将多个视图组合到一个视图中去,比如,两个detailview在一起显示。当然,数量是不限的。
- ViewItem (视图项目)
ViewItem是指一个小控件,如TextBox,DropDownList等。当然,一个Excel表格编辑控件很大,但它也可以是视图,但它只应用于DetailView和DashboardView中,用于修改某个业务对象的某个属性值。 - Action(按钮)
界面上的那些按钮的抽象,这里面只管写逻辑,如:点击一个按钮要干什么事,可以做数据操作,也可以做界面操作,如,弹出一个对话框,显示一个视图,或,保存数据的修改。 - ActionContainer
按钮容器,即,按钮要在这里显示出来。
XAF-UI元素概述的更多相关文章
- Kendo UI Validator 概述
Kendo UI Validator 概述 Kendo UI Validator 支持了客戶端校驗的便捷方法,它基於 HTML 5 的表單校驗功能,支持很多內置的校驗規則,同時也提供了自定義規則的便捷 ...
- Kendo UI 特效概述
Kendo UI 特效概述 Kendo UI Fx 提供了一个丰富,可扩展,性能经过优化的工具集合用来完成 HTML 元素的过渡显示.每种特效近可能的使用 CSS Transition ,对于一些老版 ...
- Kendo UI 模板概述
Kendo UI 模板概述 Kendo UI 框架提供了一个易用,高性能的 JavaScript 模板引擎.通过模板可以创建一个 HTML 片段然后可以和 JavaScript 数据合并成最终的 HT ...
- Kendo UI Widgets 概述
UI Widgets 概述 Kendo UI 是基于 jQuery 库开发的,Kendo UI widgets 是以 jQuery 插件形式提供的.这些插件的名称基本上都是以 kendo 作为前缀.比 ...
- Magento2 UI components概述
UI components 概述Magento UI components 是用来展示不同的UI元素,比如表,按钮,对话框等.他们被用于简单灵活的交互界面渲染.Components被用来渲染结果界面, ...
- [WPF自定义控件]?Window(窗体)的UI元素及行为
原文:[WPF自定义控件]?Window(窗体)的UI元素及行为 1. 前言 本来打算写一篇<自定义Window>的文章,但写着写着发觉内容太多,所以还是把使用WindowChrome自定 ...
- CSharpGL(6)在OpenGL中绘制UI元素
CSharpGL(6)在OpenGL中绘制UI元素 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo,更适合入 ...
- 【Win 10 应用开发】打印UI元素
Windows App支持将UI界面进行打印的功能,这与浏览器中的打印网页的用途相近,其好处就是“所见即所得”,直接把界面上呈现的内容打印下来,比重新创建打印图像方便得多. 要在通用App中实现打印, ...
- 10套免费的 Photoshop UI 元素以及 PSD 素材
免费的 PSD 用户界面工具包以及可以编辑 Photoshop PSD 文件,有你需要的设计漂亮的用户界面和惊人使用体验.这些用户界面工具包可有免费下载,可随意定制的,而且这些 PSD 分层素材文件组 ...
随机推荐
- Erlang运行时的错误
Erlang运行时发生错误时,会返回一些错误信息,理解这些信息,对于学好.用好Erlang来说是必要. Erlang中的运行错误包括:badarg, badarith, badmatch, funct ...
- html5 文件系统File API
前言: 在做浏览器上传图片的时候,一般采用form表单上传,这种上传无法预览图片,无法查看图片大小,无法知道图片的类型等等!那么在html5 File API提供了这些表单无法实现的功能,而且还支持拖 ...
- Asp.Net Identity 深度解析 之 注册登录的扩展
关于权限每个系统都有自己的解决方案,今天我们来讨论一下微软的权限框架Asp.Net Identity ,介绍如下 http://www.asp.net/identity 这里不在赘余. 很多人认为 ...
- 几乎没用到过的css 样式
1. :focus 选择器用于选取获得焦点的元素. 案例:http://www.w3school.com.cn/tiy/t.asp?f=css_sel_focus 2. clearfix清除浮动闭合 ...
- AJAX 表单提交 文件上传
1. AJAX = 异步 JavaScript 和 XML. AJAX 是一种用于创建快速动态网页的技术.通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载 ...
- DHTML【3】--HTML
从这一节开始我们就开始介绍HTML的标签了,首先我们来介绍Form标签. Form标签也称Form表单,From是与服务器交互最重要的标签,此标签必须做到随手就写,写完就正常运行的地步. 那么什么是F ...
- SignalR 2.0 系列: SignalR简介
SignalR 2.0 系列: SignalR简介 英文渣水平,大伙凑合着看吧,并不是逐字翻译的…… 这是微软官方SignalR 2.0教程Getting Started with ASP.NET S ...
- storm安装(2)ZeroMQ、JZMQ、Python、Java环境的安装
2.ZeroMQ安装 把安装本件zeromq-2.1.7.tar.gz拷贝到home文件路径下, 给文件加入权限 chmod +x /home/zeromq-2.1.7.tar.gz 解压文件 tar ...
- Lazy Scheduler
Lazy Scheduler:我的轻量级任务调度框架 一.背景 工作中经常涉及任务调度,一直都是采用while(true) => if hitted DO => Thread.Slee ...
- [原]逆向iOS SDK -- _UIImageAtPath 的实现(SDK 5.1)
注释过的反汇编代码:http://pan.baidu.com/share/link?shareid=3491166579&uk=537224442 伪代码(不精确,仅供参考): NSStrin ...