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元素概述的更多相关文章

  1. Kendo UI Validator 概述

    Kendo UI Validator 概述 Kendo UI Validator 支持了客戶端校驗的便捷方法,它基於 HTML 5 的表單校驗功能,支持很多內置的校驗規則,同時也提供了自定義規則的便捷 ...

  2. Kendo UI 特效概述

    Kendo UI 特效概述 Kendo UI Fx 提供了一个丰富,可扩展,性能经过优化的工具集合用来完成 HTML 元素的过渡显示.每种特效近可能的使用 CSS Transition ,对于一些老版 ...

  3. Kendo UI 模板概述

    Kendo UI 模板概述 Kendo UI 框架提供了一个易用,高性能的 JavaScript 模板引擎.通过模板可以创建一个 HTML 片段然后可以和 JavaScript 数据合并成最终的 HT ...

  4. Kendo UI Widgets 概述

    UI Widgets 概述 Kendo UI 是基于 jQuery 库开发的,Kendo UI widgets 是以 jQuery 插件形式提供的.这些插件的名称基本上都是以 kendo 作为前缀.比 ...

  5. Magento2 UI components概述

    UI components 概述Magento UI components 是用来展示不同的UI元素,比如表,按钮,对话框等.他们被用于简单灵活的交互界面渲染.Components被用来渲染结果界面, ...

  6. [WPF自定义控件]?Window(窗体)的UI元素及行为

    原文:[WPF自定义控件]?Window(窗体)的UI元素及行为 1. 前言 本来打算写一篇<自定义Window>的文章,但写着写着发觉内容太多,所以还是把使用WindowChrome自定 ...

  7. CSharpGL(6)在OpenGL中绘制UI元素

    CSharpGL(6)在OpenGL中绘制UI元素 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo,更适合入 ...

  8. 【Win 10 应用开发】打印UI元素

    Windows App支持将UI界面进行打印的功能,这与浏览器中的打印网页的用途相近,其好处就是“所见即所得”,直接把界面上呈现的内容打印下来,比重新创建打印图像方便得多. 要在通用App中实现打印, ...

  9. 10套免费的 Photoshop UI 元素以及 PSD 素材

    免费的 PSD 用户界面工具包以及可以编辑 Photoshop PSD 文件,有你需要的设计漂亮的用户界面和惊人使用体验.这些用户界面工具包可有免费下载,可随意定制的,而且这些 PSD 分层素材文件组 ...

随机推荐

  1. 安装uBuntu操作系统 - 初学者系列 - 学习者系列文章

    uBuntu是一款不错的Linux操作系统,在上面的应用软件不少,就是说它的支持率挺高.下面就对这款操作系统的安装做下介绍. 1.  下载uBuntu安装文件 打开中文页面.http://www.ub ...

  2. css-缩写

    border缩写 /*缩写前*/ element{ border-top-width:1px; border-top-style:solid; border-top-color:#cccccc; } ...

  3. ssis的script task作业失败(调用外部dll)

    原文 ssis的script task作业失败 我的ssis作业包里用了一个script task,会查询一个http的页面接口,获取json数据后解析然后做后续处理,其中解析json引用了本地目录下 ...

  4. Java设置环境变量

    客上转过来的. 非常多人写了非常久java代码.还不知道环境变量是怎么一回事.科普一下. 一.java设置环境变量 - 精简版   1.右键打开我的电脑->属性->高级->环境变量 ...

  5. 【转】Android Application 对象介绍

    What is Application Application和Activity,Service一样是android框架的一个系统组件,当android程序启动时系统会创建一个 application ...

  6. DDD实践(一)

    DDD实践切入点(一) 前两篇:大型系统的支撑,应用系统开发思想的变迁 之前大致说了使用DDD的前期准备,现在可以真正开始实践了,以我刚刚结束的一个简单的经典DDD方式的项目为例子,当然由于比较简单, ...

  7. MVC 过滤器3

    ASP.NET MVC 过滤器(三) ASP.NET MVC 过滤器(三) 前言 本篇讲解行为过滤器的执行过程,过滤器实现.使用方式有AOP的意思,可以通过学习了解过滤器在框架中的执行过程从而获得一些 ...

  8. 【WCF系列二:如何调用WCF服务】WCF入门教程(图文)VS2012

    上一遍到现在已经有一段时间了,先向关注本文的各位“挨踢”同仁们道歉了.小生自认为一个ITer如果想要做的更好,就需要将自己的所学.所用积极分享出来,接收大家的指导和吐槽.网上也有很多WCF相关的教程, ...

  9. GitHub 简易使用

    笔记内容 学习笔记-段玉磊 Github Github 命令 写这篇文章主要写一下如何运用终端命令,进行Git的配置以及使用,由于本人我不太习惯使用图形IDE,效率没有命令行高,我还是推荐使用命令行进 ...

  10. Vijos: P1046观光旅游

    背景 湖南师大附中成为百年名校之后,每年要接待大批的游客前来参观.学校认为大力发展旅游业,可以带来一笔可观的收入. 描述 学校里面有N个景点.两个景点之间可能直接有道路相连,用Dist[I,J]表示它 ...