zoukankan      html  css  js  c++  java
  • 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
        按钮容器,即,按钮要在这里显示出来。
  • 相关阅读:
    owlCarousel 用法心得1 -20170405
    js数组去重的四种方法
    js获取url参数值
    jq index()
    jQuery(expression,[context])
    音乐播放器的实现+显示当前时间的歌词(只显示当前时间的文本)
    iOS自动布局框架-Masonry详解
    ios -完全实现代码设置 Could not find a storyboard named 'Main' in bundle NSBundle
    Python使用MySQL数据库的
    iOS 阿里百川SDK集成注意点
  • 原文地址:https://www.cnblogs.com/foreachlife/p/xafuielement.html
Copyright © 2011-2022 走看看