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 分层素材文件组 ...
随机推荐
- 对web.config的ConnectionString加密
原文:对web.config的ConnectionString加密 本文参考了wayshan的博客,原文地址:http://www.cnblogs.com/wayshan/archive/2012/0 ...
- js获取非行间样式或定义样式
<!--DOCTYPE html--> <html> <head> <meta charset="utf-8" /> <sty ...
- 微软BI 之SSIS 系列 - 使用 Script Task 访问非 Windows 验证下的 SMTP 服务器发送邮件
原文:微软BI 之SSIS 系列 - 使用 Script Task 访问非 Windows 验证下的 SMTP 服务器发送邮件 开篇介绍 大多数情况下我们的 SSIS 包都会配置在 SQL Agent ...
- 简单分析android textview xml 的属性设置
android:ems 设置TextView的宽度为N个字符的宽度. 这样的好处就是,在定义编辑框空间输入多少字符的时候,可以根据固定的值设置编辑框宽度.保证边框和文字的宽度统一.android:ma ...
- Oracle索引——位图索引
1.语法create bitmap index index_name on 表名(字段);2.举个例子你就能明白了:如有表 test(id,name,address)数据(1,张三,大连)(2,李四, ...
- 如何用VB获得Windows各类系统目录
现在有很多关于如何用VB获得Windows目 录的文章,但大都只讲到如何获得Windows目录和System目录,有时候我们却需要获得像"我的文档"这样的目录("我的文档 ...
- c#编写的基于Socket的异步通信系统
c#编写的基于Socket的异步通信系统 SanNiuSignal是一个基于异步socket的完全免费DLL:它里面封装了Client,Server以及UDP:有了这个DLL:用户不用去关心心跳:粘包 ...
- 推送之HelloWorld及个推Smart Push
最近有个朋友想要推送一些消息到自己的APP上,自己用了HTTP轮询的方式比较耗电,也比较占用流量,一旦用户关闭了进程,消息则很难触达,于是,咨询我有没有什么好的解决方案.我告诉他其实可以使用推送,他瞪 ...
- linux的运行级别
一.linux共有七种运行级别,内容如下: 级别0:停机状态,系统默认运行级别如果设为0,将不能正常启动: 级别1:单用户模式,只允许root用户对系统进行维护: 级别2:多用户模式,但没有NFS(h ...
- c# in deep 之LINQ读取xml(2)
假如有以下xml文件 <?xml version="1.0" encoding="utf-8" ?><Date> <Produc ...